I can’t find out what’s wrong within reasonable time, sorry.
Indeed the local position should track the distance to ground; maybe we’re missing some parameter.
As a hacky solution, could you also try MPC_ALT_MODE=1? Only on Altitude mode, it will stabilize the UAV in terms of ground, not its own position.