It looks like you have about 15 places and about 20 days to do it. You want to ask yourself if you want to spend the majority of your time traveling from place to place. If you read these forums very often, you'll see we veterans of travel overwhelmingly advise more time in fewer places. Or, put another way, do you want to check items off a list (and it all becomes a blur) or ENJOY a select number of places?
For example, you have 3 castles in your list. You really only need one. So I'd keep Krumlov but skip Thun and Fussen. (Fussen is an all-day trip just to see one castle, and it can get crowded.)
Also, trying to get Bernina Express and Como in there is time-consuming. (Bernina Express is great, but in my mind it doesn't compare to WALKING in the Alps. The former gives you 15 seconds of a variety of views, but walking allows you to spend as much time as you wish viewing scenes, plus time to take pictures.)
So my advice is take out Chur/Como and also Zermatt. (Long time to get there, Matterhorn may or may not be covered in clouds.)
Bern is OK (I'd skip it), but doesn't compare to what you'll see in the Alps, so spend at least 3 days in Lauterbrunnen (which is the transportation hub of that area). On a clear day, the must-do hike there is Mannlichen to Kleine Scheidegg, tho there may be snow on there still in May.
More: we liked Hallstatt. It is beautiful, but it is an all-day affair to get there and back via trains. That one is 50-50 in my mind.
Also from Salzburg, there are tours to Eagles Nest and Sound of Music. Also an interesting tour to Werfen to visit Eisriesenwelt.at . If you like to do things cheaper on your own, there is a bus that leaves the Salzburg train station (on street across parking lot) that goes to Berchtesgaden. I believe there is a regular bus route to Dachau from Munich (very inexpensive).