Is your son taking the train to Zurich HB or Zurich Flughafen (airport)? If he’s taking the train to HB from Munich, you could take the 12 min train from the airport to HB, store your luggage and walk around a bit for maybe some breakfast near the station OR you could just go to Luzern and have him meet you there. Your hotel may let you store your luggage there prior to check-in to be more ready for exploration when he arrives.
The boat dock in Lugano is about a 10 minute walk from the train station. Just follow the boat icon signs out of the train station or put it into your phone GPS to get walking directions or look at the maps on SBB when you input your route. A person at the ticket office can also help you upon arrival.
It’s about a 1 hr boat ride or 30 minutes via 1 train & 1 bus to get to Morcote, so you could boat there and then return via bus/train if you felt any sort of time constraint. We boated both ways as a day trip from the Luzern area, walked up the hill to the historic Castello di Morcote, wandered the cobblestone streets and ate along the water. You can see Italy from across the water while you’re there and all the menus and signs are in Italian with authentic Italian food at the restaurants.
Yes, Morcote is included in the Swiss Pass. I did some quick math for you of
Zurich Flughafen > Luzern
Luzern > Boat to Vitznau > funicular to Rigi roundtrip
Luzern > roundtrip Lugano/Morcote via train/boat
Luzern > St.Gallen (on your way to Munich)
—With that itinerary, you’re looking at roughly 350 chf full fare (not including German border to Munich)
—-With the 4 day Swiss Pass it becomes 304 chf
—-However, if you go ahead now and purchase Saver Day Passes for Monday & Tuesday, your total would drop to 206 chf.
Saver Day Passes work like a one day Swiss Travel Pass, but they have to be bought in advance and the closer you get to the date of travel, the more expensive they get before they are not available at all (around a week + out usually). Right now for mid April you can get SDPs for 61chf/day, which would cover a day trip to Rigi & Lugano/Morcote and then you’d just buy your ticket from Zurich Flughafen to Luzern (right now around 31chf) and then the portion of your Luzern to Munich ticket is around 50chf (113 chf total)
Your ticket to Munich will get more expensive the longer you wait. If you get it through Bahn.de with your son all on 1 reservation then you can choose specific seats next to each other. Obviously purchase 1 ticket Luzern to Munich, I was just pricing out the portion within Switzerland to compare the pass coverage. It will be in euros on Bahn.de and we always purchase our ticket from Munich to Switzerland via them because it’s a German train (DB) and thus we get to pick our seats with Bahn.de vs if purchased on SBB they just assign you without choice if you do the seat reservation. We like to upgrade to first class for that trip, as it’s typically not much more expensive and more spacious for the long ride.
Hope that helps!