People have different travel styles. You have enough time (in 3 weeks) to do this, but we did one vacation that was Vienna/Innsbruck/Salzburg/Munich/Vienna, and another vacation that was Berlin/Budapest/Prague/Berlin. We used air to get to Budapest, and train from Prague to Berlin.
My point is that you need to look up actual travel times before you decide on your itinerary. This is not like train-ing between Berlin-Dresden-Leipzig-Berlin. You also need to decide if there is actual value (like access to Cesky Krumlov) to having a car, or if it is just American auto-love.
It happened that our (low-cost, single purchase from Austrian Air) same-day connection to Innsbruck at the beginning of the trip was a superb, small commuter plane trip that was almost scarily between beautiful mountain ranges. The rest of the transfers were by train, and were inexpensive and convenient. I am not saying that we never rent a car. But for visiting the major cities of Europe, it makes as little sense as visiting Washington-Philadelphia-New York-Boston by car from a foreign country. Just like those cities, your downtown urban hotel is not going to have a parking garage built-in, and parking won't be free.
Note that inter-country Covid restrictions cannot be predicted in advance.
If you feel strongly about N. Italy, please be more specific. Venice is always in season. But the lake district can be more seasonal with attractions and ferry schedules. Haven't been there myself.