@rmackay9 Now I think this is a bug.
See same question from the forum. Same problem as mine.
http://discuss.ardupilot.org/t/constantly-20-30m-under-target-altutitude-and-not-correcting-auto-mode-mission/17059
From the rangefinder alt(100m), we know the plane flys at the right alt(100m), but the GCS alt is not right(90m), usually lower >10meter, and the plane does nothing. Rusult in bad landing accuracy!