That's a really interesting question, and I share your love of smaller places.
Do you have a particular time of year for your trip? Amsterdam tends to be damp and cool (though I guess we don't know these days), whereas Prague can be quite hot in mid-summer. I had heat in Berlin in 2015, but I think overcast and not so hot is sometimes what you get.
I liked Gdansk and Krakow very much. In fact I spent a great five weeks just traveling around Poland this summer. The other major cities I visited were Warsaw (too large for this list, I guess), Poznan and Wroclaw. Poznan and Wroclaw are not quite as site-rich as Gdansk and Krakow, but they have things to see (probably more in Wroclaw--but it was German pre-WW II). I haven't checked rail routings, but Poland should work well with Berlin, logistically. There's also the really gorgeous much smaller city of Goerlitz sitting on the German-Polish border east of Dresden.
One thing that wouldn't stop me, but might give you pause, is that so many of the major museums/historical sights in Berlin, Krakow and Gdansk are related to 20th century historical events, especially WWII and the Cold War. I love that stuff, but there's not as much variety as you might get if you went in a different direction. One could enjoy Gdansk and Krakow a great deal without overdosing on what happened in the 20th century; Berlin doesn't have the same physical beauty, but does have tons of museums on art and a variety of subjects. Still, you mentioned "things to see", so I assume you want to do more than wander around and look at gorgeous facades.
I believe the Polish options would be workable if your major city was Prague, too.
Other possibilities: Dresden-Leipzig (with side-trip to Goerlitz, though I'd rather spend the night), Erfurt (with Weimar and Eisenach), Brno (with side-trip to Olomouc). Farther afield (cheap flight?): Zagreb, Ljubljana.