Altitude drift to 5 meters after startup

Recently tried using autoland and it worked nicely on one plane, until I switched to other planes. Slightly different airframe but all hardware are essentially the same. All 3 planes use Omnibus F4pro, and all parameters are simply copy and paste (except PIDs) Mission plans are identical and I use only relative altitude.

The second and third plane crash land every single time with propeller spinning and won’t flare. It turns out that ardupilot reads the altimeter at 5 meters high, pretty consistently, while it is actually sitting on the ground. I go back and review a dozen past flights on these two planes, and surprisingly majority of time, the altimeter reads 5 meters and climb rate 1 m/s before take off, and 5m after landing. One time it reads 8 meters before take off. Sometimes it would read 0 meters and 0 m/s before take off, but after landing, altimeter is reading 5 meters again. I wouldn’t call it altitude drift or defective baro, because the 5 meters appears consistently. Could EKF2 cause this via GPS ? But EK2_ALT_SOURCE is set to 0 default, and EK2_ALT_NOISE, EK2_HGT_I_GATE are default values

This picture shows 4.5m just by plugging in USB at home without GPS after several minutes. What is alt_error ? So ardupilot knows it is an error?