As it must use GPS for distance from the home point. This would avoid the problem discussed elsewhere of flying at an illegal height when flying from a hill over a valley or indeed apparently exceeding the legal height when trying to fly over rising land from a valley. Surely with all the other amazing functions programmed into the firmware this should be a doddle. Am I missing something or is this not desirable?
Here's a theoretical solution...
GPS is quite accurate in determining horizontal location, but not so much for vertical. And, as others have pointed, even if it was accurate enough, GPS would only tell you your height above sea level. So you'd also somehow need to know the actual sea level elevation of the terrain currently below the drone in order to calculate the actual height above ground.
Large airliners have radar altimeters which, when within range during landing or takeoff, bounce a radar signal off the terrain below. Similar to DJI's VPS sensors, those provide a very accurate above ground level (AGL) measurement, but they have limited range. (And in the case of radar altimeters, they operate close to 5G frequencies, which is why you're asked to turn off your cellphones!)
Within Google Earth, you can place your screen cursor over any point on Earth and it will display that location's height above mean sea level (MSL). That data actually does exist. However, that huge database is stored on Google Earth's server and only a tiny portion is downloaded for the bit of the map currently showing on your browser's screen.
There's no way that DJI's drones will have enough internal onboard memory capacity to store the entire enormous database in sufficient detail for the entire Earth. But, couldn't you pre-load similar terrain MSL elevation data the same way you preload pre-flight satellite-view map data?
If you could download the terrain elevation downloaded for just the map area you intend to fly in, you wouldn't need to rely on active inaccurate GPS height measurement. Your relative height is still zeroed using the barometric altimeter at your take-off location. As long as you wait long enough to obtain a good GPS lock and have your Home location matched to that take-off location, your drone should then know and record the terrain MSL height of your take-off location.
Thereafter the drone could look up, within it's downloaded terrain elevation data, the MSL elevation of any current GPS location during it's flight. Knowing that, it can calculate it's actual height above ground level (AGL) relative to its take-off location, plus whatever height its more accurate barometric altimeter is currently reading.