I'd simply skip Lucerne. I might even skip Salzberg. Milan 3 days, Salzberg 3 days, Budapest 4 days.
As far as "important city that needs to be seen", there are about 300. Here's the deal: FOMO (fear of missing out) is real. First-time travelers want to see everything. You simply cannot. It's best to pick a smaller number than you really want to, spend more time in each city. We were in N Italy last fall. We went to 6 cities in 22 days. We spent a minimum of 2 nights (3 days including travel) in each, although we spent 3 nights in Milan.
We took trains to get around - you will probably need to fly Milan-Salzberg - maybe train is possible. Certainly you can train Salzberg to Budapest.
Plenty to do in 3 cities. You'll have a great time.