IMU (Intertial Measurement Unit) Altitude, as the name suggests uses the accelerometer, gyroscope and barometer to measure the altitude of the AC. It takes the takeoff point as 0 and depending upon ascent or descent from that point it shows the altitude as +ve or -ve. The negative value you are seeing is probably because you are landing slightly below the takeoff point. It may happen if the ground is not flat or you took off from an elevated surface (your palm for example).
VPS (Visual Positioning System) Altitude uses the bottom sensors (camera and IR sensor) to detect "ground" within 0-26ft (0-8m). So above 8m, it will be displayed as NA in your flight logs. Its main function is to work as an obstacle detection sensor and tell the drone that it is approaching ground so that the descent speed is reduced at the time of landing.