Coming back we have found a flight from Florence to Munich on Air
Dolomiti (Lufthansa) and then connecting to Air Canada. The time
between flights in Munich is only 35 minutes - is that enough time?
There is an earlier flight but that means a 4 1/2 hour layover in
Munich.
Ok, if these are 2 separate flights on 2 separate itineraries, this is not a CONNECTION but a STOPOVER. 35 minutes is NOT enough time. You are allowing no time for a late arrival from Florence.
35 minutes isn't enough time even if your itinerary is on one ticket.
Worse, the Air Canada transatlantic flight could close 30 minutes prior to departure so unless your Florence flight is on time, you are the 1st person to deboard, and the Air Canada gate is immediately next to your arrival gate, forget about it.
Yes, 4 1/2 hours is the smart move.