In military aviation, crews will sometimes refer to "angels" meaning MSL altitude. However, one might guess that it is a pronunciation of AGL (AnGeL), above ground level. Did it originally mean AGL and then at some point it changed meaning to MSL?
It was originally Royal Air Force slang for altitude in thousands and not a way of pronouncing AGL.
Up in the air, where the angels fly.
Angels 10 meant 10,000 feet. Cherubs were hundreds of feet.
No, it always meant altitude and altitude means above mean sea level since it is distinguished:
Back in 1930s and 1940s when the term was already in use, there was no way to find height above ground level at all. Even now the radar altimeters only measure height up to few thousand feet.
The term is mainly used to describe position of flights over the battle area, for which you need something that will immediately tell you whether the other flight is above or below you. Altitude is such thing—higher number means above, lower number means below. Height wouldn't work as a flight over mountains can have lower height AGL and still be above you.
Close to the ground, altitude AGL matters far more than altitude MSL, since it is the ground that you're trying to land on, or avoid running into. At higher altitudes, however, altitude AGL matters far less, and is much harder to determine, and thus altitude MSL is used as the reference. That is also what is read on the barometric altimeter.
Thus, for an aircraft looking to join up with (or avoid hitting) another aircraft, giving the altitude in the same reference (MSL, not AGL) that can be readily read on the instruments is most useful.
Besides, if that aircraft is over a mountain and I'm over a valley, we might be at the same altitude even though he is at 4000' AGL (above the ground directly beneath him) while I'm at 6000' AGL (above the ground beneath me).
One might ask, why not set QFE and reference everything to the "ground level" at some particular airport, rather than referencing everything to sea level. You could do that, AS LONG AS everybody has the same QFE for the day. If you're doing all your flying in a theater where all the airfields are at about the same altitude, this probably wouldn't cause much problem, but if I have QFE set for the field I took off from (elevation 10' MSL), that setting won't show me what I want to see if I end up landing at another field at say 500' MSL!
Thus, the fairly common choice to set altimeters to read height above sea level, and thus reference calls of other aircraft altitude to that same standard.
"Angels" is flight level in thousands of feet based on the common barometric pressure of (I think) 1013.25mbars (29.92mmHg). Angels is not typically used when you have a QFE or QNH to reference and is usually used above a certain altitude only and when away from all other references. For example a transatlantic flight once over the ocean could use MSL, but in a transmission to other aircraft that are currently using QFE or QNH over land, this reading is not right for them to reference for anti collision. To that end, once you are in an air corridor with other aircraft, and I think usually above about 18,000ft, the altimeter is set to a common value of, like I said, I think, 1013.25mbars and then FL is used so all are on a common altitude reference.