You are correct that hot air does rise, however the reason for the air being cooler at altitude is to do with the drop in pressure. Air temperature is to do with how fast the molecules in the air are moving. When pressure decreases the molecules get slower and therefore the temperature drops.
Great question! Most of the sun’s heat actually passes straight through the atmosphere, instead hitting and heating up the ground and sea. In turn, some of this heat gets passed to the surrounding air. This layer of air, in turn, passes heat to the air above it, and so on. So gradually as you get higher, less heat is being transmitted. This is compounded by the fact that air tends to get thinner as you go higher up, which means less chance of collisions between air molecules to transfer heat. So you’re right, hot air does rise, but at higher levels (like the top of Vesuvius), it’s already lost a lot of its heat, which is why it feels cold!