Do you think it’s a good idea to go from Munich to St Goar directly?
Can it be done?
Yes, it is. If your final stop is Frankfurt, there's no reason to stay there first, then in St Goar, then in Frankfurt again at the end.
You can travel by train from any city in Germany to any other city that has a train station. That doesn't necessarily mean by ONE train. DIRECT train rides take you on long-distance journeys from train hub city to train hub city (like the big cities on your itinerary... Berlin, Frankfurt, Munich) without stopping at small places. These are usually IC, ICE, or EC trains. Many smaller destinations that are not train hubs require a train connection (like the one you were planning to Triberg, or the famous Rothenburg) And so it is with St Goar as well. The train hubs for St Goar would be FRANKFURT and MAINZ. So you get off there and switch to a regional train to reach St Goar. Sample schedule:
Munich > Mainz 13:47 - 17:40; Mainz - St Goar 17:51 - 18:38 (or 18:03 - 19:00.)
Munich > Frankfurt 12:47 - 16:04; Frankfurt - St Goar 16:24 - 17:44
You will find some journeys with MULTIPLE connections as well, but I would focus on the ones with just one connection; the more connections you have, the greater the chance you will miss one if a train is late.
Personally, with long trips like Munich - Frankfurt or Munich - St Goar, I like afternoon/evening travel schedules like the examples I gave you - or even later departures. With an afternoon departure I have time in the morning to sightsee, pick up snacks or sandwiches for the train journey, etc. Also, by arriving later, I can be sure that my hotel room is ready when I get there... It's sometimes an inconvenience to arrive earlier and to have to leave bags at the front desk. But of course it's your choice, and with the rail pass, you can change your mind about when you want to leave/arrive at any time you wish.
Can't tell you anything about cuckoo clocks in Frankfurt, sorry.