Re the crash at 2m. That sounds like a false positive on the landing detector (i.e. it thought it was landed when it wasn't). That's very rare but it's possible. If you manage to find the log, or it happens again and you can get the log, I'd like to have a look at it.
The way it can happen is if the motors are at their minimum levels for a second or two but the vehicle doesn't descend. This makes the software think it's landed. It's very rare for that to happen on a vehicle that isn't landed but it's possible especially if the lower end of the motor ranges are set too high. So what might help is to check if the MOT_SPIN_MIN parameter value can be reduced. In your logs it's set to the default of 0.15. I suspect that can be reduced to 0.12 or even lower. It should never be set lower than MOT_SPIN_ARM though so reduce MOT_SPIN_ARM as well maybe. You can test when the motors start spinning on the mission planner's motor test page (documented on the wiki page below).