Within an hour of Frankfurt you have over 100 Christmas markets. There's 1400 in the Rhineland alone. Many only run weekends or for one week. There are also over 80 castles in that same area. Some are wrecks like Rheinfels, some are still lived (Burg Eltz), some are just huge (Ehrenbreitstein). Plus you have the wine regions of the Rhine and Mosel. So that's a good place to base from.
Munich is okay, but you'd do better to base out of Nuremberg if you want to do Rothenburg and/or Regensburg. I say this because you also have Wurzburg, Bayreuth, Bamberg, Amberg, and Munich within an hour by train. Plus hundreds of smaller places, Like Ansbach, or Nordlingen, or Crailsheim. And yes, there are castles there too.
The thing is, and don't get me wrong, the big cities are really good for the markets, but if you really want the small villages you need to ignore a lot of the advice you'll get here. That's because tourists don't go places like Bad Homburg, or Deidesheim, or Trippstadt. Wissembourg is beautiful, has a decent amount of the old fortifications left, and has a very pretty Christmas market. And I can go and be the only American in the town.
I was in Metz today. Really good Christmas markets. Great sales in the stores. Fantastic food (oysters, tartiflette, frog legs, snails, sausages, wines, hot chocolate, etc.). I heard one other person speaking English. But it's not a town that gets a lot of tourists. Trier is the same, fantastic history, really good market, great shopping, Roman ruins, and tourists prefer Rudesheim (which isn't all the good). And those are cities. Go to Bad Windsheim for the Medieval Christmas market and the only Americans you'll see will be from the airfield 10km down the road.
Here's a link for some of the markets. You'll need to get the dates next year later. But realize this is nowhere near all of them
https://www.brunnvalla.ch/christmasmarkets/germany.html