Ender 3 BLTouch fails in assorted ways
You had a faulty BLTouch. Mine experienced the EXACT same behavior and replacing it with a new BLTouch fixed the issue entirely (everything else I kept exactly the same, firmware etc), I simply swapped over the probe + cable with the new one.

When connecting the new BLTouch, make sure you wire the servos connector correctly. In my case with an SKR Mini E3 v1.2 I needed to switch the red wire with the blue wire. If you start the printer with the wires the wrong way around, it may cause damage. I suspect that is what happened to my original one.