Rocks fall to the ground (too heavy), but the eruptive cloud is still full of matter heavier/denser than air (e.g. CO2, volcanic dust and gas, forming crystal needles and “stone flakes” when cooling), and all this is thrown up miles high by thermics into a towering mushroom cloud, which eventually collapses, gaining speed on the vertical, and then flowing horizontally on hitting the relief. At least that's my understanding, assembling bits and pieces from documentaries over the years (Pompeii etc), but I have never seriously “studied” it.
These clouds (on the rise) and flows (on the way down) hold together because of density and gravity, and also because the volcano thermics have locality, perhaps not unlike a huge man-made fire (like in Hamburg or Dresden) creates its own local weather, resulting in a firestorm.
« why does the warm air mass ride up on top of the cool air instead of just mixing? » — Well, because it is lighter. Whereas a cold front moves like a wedge into warm air, throwing it up while staying close to the ground (cold = heavy), and thereby sometimes provoking frontal thunderstorms.