The altitude uses barometric pressure. It can vary when close to the ground. The propeller down wash gets into the copter body and messes with the pressure reading. Also, as atmospheric pressure changes in your area (weather), the barometric pressure at ground level changes. So if you land and it says something other than zero, like 2 or -3 or whatever, that is nothing to be concerned with. It is perfectly normal behavior of a barometric altimeter in these small vehicles.
The altitude will always change to zero when you arm for takeoff because it resets the altitude to zero on the ground when you arm. Also perfectly normal.
If you're trying to say the copter is disarming while 2 meters up in the air and causing a crash, that is entirely different and not correct behavior. That should be essentially impossible. Please elaborate.