Sorry about your crash. A plane is not designed to crash if you press take-off before holding point, but skipping the boot sequence can have significant consequences. But you are free to "choose" that in your flightplan.
If your flightplan has a GeoLocate call to shift the entire plan to the current location (including altitude) then it can be pretty important to execute that (holding point). Default flightplans wait 10 seconds after the first lock. But you can also set the correct altitude in the waypoints directly and make a flightplan without GeoLocate where you can take-off the very second GPS goes green or in theory maybe even before.
Now I see you also use energy_control, which can dive to increase speed when too slow. If altitudes are not correct, the take-off-block exception can be triggered early and the plane will not take-off with full-power and a fixed pitch until 30m above ground but instantly switch to energy-control that might think that your airspeed is so slow that it needs to dive (depends on launch speed).
So: skipping Holding point is not designed to crash, but skipping the boot sequence can have nasty effects indeed. Most often aborting the boot sequence with a GeoLocate call will not allow you to take-off as you are too far from HOME and remain in kill. If you are in a hurry and want to take-off the second you get GPS, then change your flightplan to not wait 10 seconds afterwards, but that is not recommended either as the GPS internal co-variance is still very high the first seconds.