The problem was partly the usual one in these conditions - the VPS height sensor was confused by the fog. At the end of the flight as it was descending the VPS height went to zero and the FC concluded that it was on the ground (OSD_groundOrSky = "Ground") and shut down the motors (OSD_isMotorUp = "False").
That shouldn't have happened though, because the IMU was still reporting a vertical descent speed of 2.5 m/s. It appears to have been complicated by "motor blocked" flags and "not enough force" flags:
Unwise to fly in those conditions, but that was an aircraft fault.