Unfortunately, the elevation registered in ardupilot (when using the UBLOX F9P - not sure if true for all receivers) is the MSL elevation - this elevation is in reference to a geoid. I hear rumours that the F9P chip has a EGM96 10 degree grid as its geoid.
A geoid won’t have the same elevation offset when moving position
The trouble is that there are many different types of geoid, depending on which reference system you/your customer chooses.
So I am looking for a way to navigate using the ellipsoid elevation, which is a great reference height because it is easily mathematically defined, and I can create my mission offsets relative to it.