we will be traveling home from Prague in May and want to visit Germany but only have 4 nights. We were thinking of seeing Dresden and head toward Munich or Berlin to fly back home. We like small towns as well as big cities. What makes sense.
Dresden and Berlin would be an ideal combination and easy train connection. With only 4 nights, I'd probably stay 1 night in Dresden and 3 in Berlin. Dresden's main museums are open 10 - 18:00, but Rick recommends a night walking tour at 21:00 that sounds like fun, if you stay overnight. It would also be possible to see Dresden just as a stop along the way, if you're OK with bringing your dinner onto the train and arriving late in Berlin.
I would plan it exactly the same as Laura suggests. One night Dresden, 3 nights Berlin; fly home from Berlin.
If you book Prague to Berlin on a Savings Fare ticket for one of the ECs, you can get fares as low as 29€/person. If you book it as a single ticket with a stopover in Dresden, you can even stay overnight in Dresden for the same 29€ fare (stopover of at least 24 hours).