Note that the mavproxy shell status command provides different values for elevation.
Altitude in aviation is referenced to either the ground which a vehicle is over (AGL = Above Ground Level) or above mean sea level (MSL = Mean Sea Level).
The vehicle in the above example was on the ground and hence was 0 AGL. The HOME_POSITION value of 584090 is the MSL value in millimeters (Canberra, Australia), whereas it is shown in meters for TERRAIN_REPORT.
Documentation notes for HOME_POSITION "The position is set automatically by the system during the takeoff in case it was not explicitly set by the operator before or after. "
(see enum #242 https://mavlink.io/en/messages/common.html)
On the other hand, AHRS3 and GPS_RAW_INT has altogether different values.
Here the documentation states for GPS_RAW_INT "The global position, as returned by the Global Positioning System (GPS). This is NOT the global position estimate of the system, but rather a RAW sensor value. See message GLOBAL_POSITION for the global position estimate.
Recent discussion on this topic is found here: