Get Eurail Global Passes : 2 adults, 1 youth, 1 (free) children. I'd get maybe 5 but more likely 7 day passes.
Last-minute tickets will be very expensive and the Swiss Travel Pass is useless if you have Eurail.
The previous exception was that trains from Interlaken to Lauterbrunnen/Grindelwald were not included in Eurail but this is not the case since last Sunday.
I'd make seat reservations on the German trains to be sure you sit together (trains will be busy between Christmas & New Year). Book through the railway companies, it's cheaper (+ no fees) : 3€ per train through ÖBB, 4.90€ per journey through DB (incl. seat map).
Same thing for Salzburg - Zurich : available through ÖBB with a seat map.
On the other hand seat reservations on Swiss trains are unheard of : lived here all my life and never made one. Trains are large and run at least hourly but often every 30 min. As a tip : board the front/rear end as people are lazy and board in the middle next to the stairs. That way you're assured to find a seat :)
The Goldenpass is a nice route for sure (hopefully there will be snow by the time you're here). The new and shiny Golden Pass Express runs from Interlaken to Montreux but I wouldn't necessarily go to Interlaken that day. That area is worth your second full day in Bern.
It would look like this then :
- Bern - Spiez
- Spiez - Zweisimmen - Montreux Golden Pass (Express)
- Montreux - Lausanne
- Lausanne - Bern
Start the day early as daylight is limited in December. Trains run at least hourly (shiny train less often but there are other trains on the same route). Check timetables on SBB app or sbb.ch.
Museums are not included in Eurail but there are family/student discounts.
Is there a specific reason to visit Frankfurt (apart from being home to the major airport of the country) ? Pretty much everything will be dead on Christmas but I'd say this will be the case everywhere…
Questions welcome