@JayJay Just for the sake of clarity.
M280 commands are servo control commands. The BLTouch uses a servo to deploy and retract the pin. For the BLTouch you put the M280 commands in deployprobe.g and retractprobe.g
M401 and M402 call the deploy and retract macros. That's all they do. When using a BLTouch (probe type P9) G30 will call M401 and M402 automatically.
In the days before the P9 probe type specifically for the BLTouch, you had to manually deploy and retract the probe before sending G30. Using the base M280 servo commands was common, however M401 and M402 were added so that the firmware could actually keep track of the state of the probe as being deployed or not.
So yes, using M401 and M402 in your homing files when using a BLTouch isn't needed anymore because probe type P9 takes care of deployment and retract automatically. But behind the scenes it's still just using M401 and M402, which is just calling deployprobe.g and retractprobe.g which just contains the M280 servo commands.
I hope that gives some historical context and explanation on why things are the way they are.