If, as you surmise at the top of the thread, there is a DHCP server upstream of your dorm room, then you don't really need your own DHCP server at all. Consider using the router purely as a switch. You can connect the ethernet source to one of the LAN terminals, and your other devices to the other LANs. They should each get their own addresses assigned by the upstream router.
That seems to work fine, however I don't really want to do that because I prefer to specify my own subnet and keep my network relatively separate from the campus network. So I'll do this as a last resort.
This leads me to believe that the problem must lie in the DHCP settings in dd-wrt. Are there any settings I can change to try to fix it?
On the Setup / Basic setup GUI page, there are settings for start address range, number of addresses, and some checkboxes one can toggle. Perhaps some of your devices are providing conflicting addresses? Try experimenting, and reboot the router after each change. Also, your peripheral devices might need to be cycled so that they request a new address for the full experiment.
You might also determine what the DNS server should be and enter that information manually.