There is a huge difference between AGL, which is above ground level, and MSL, which is above mean sea level. The remote controller reports height above take-off point, which is something else again (e.g., it is more like TL, or takeoff level). So to answer your question, if you take off from a 700 foot MSL cliff, climb 100 feet (e.g., 100 AGL and 900 MSL), and fly over the cliff your drone will think it is still at 100 AGL (actually 100 ATL), even though at that point you are quite high above ground level.
I have the reverse problem. I routinely takeoff at 800 MSL, and then fly over a hill. The hill is shown on maps as a peak at 1100 MSL, which is 300 feet above my take-off point. If I rise to 400 ATL, then fly level over the hill at its peak I will be at 100 AGL, 1200 MSL, while my remote controller will report 400 feet.
Hope that makes sense.