Something strange happened to me today. While I was riding, the gear shifter suddenly died. I thought I'd try plugging it into a charger. Luckily, there was a house along the road with some guys who had power and a charger. Given the bad experience, I bought a mini power bank to leave in my underseat bag.

The only thing I can think of is that I hit a big pothole shortly beforehand. Did the gear shifter go into "protection mode"?
It happened again today after about 70km, but I have two pieces of good news:
1) Found the root cause: I checked the seatpost and found that the battery cradle had actually fallen out of its position and was just dangling inside the frame. This movement clearly caused the micro-disconnection that triggered the BMS protection. I reinserted it as firmly as possible and managed to ride another 150km without a single issue, even on rough roads.
2) Emergency fix confirmed: The 'defibrillator' method works! I used a mini powerbank to give it a 1-second 'wake up' charge, and the system came back to life instantly.
Now I've just bought rubber ribbed Di2-style mounts. They should provide the necessary friction and damping to keep the battery cradle from sliding down the D-shaped seatpost.
To solve the mechanical issue, I decided to purchase ribbed rubber/silicone adapters instead of the rigid plastic ones.
The reason is simple: with my new, stiffer wheels and D-shaped seatpost, I believe the rigid plastic created excessive vibrations, causing the battery to slip. These silicone mounts act as a vibration dampener, absorbing the strongest impacts caused by potholes. This should hopefully also prevent the micro-disconnections that trigger the BMS's protection mode.
Another recommended step is to carefully place heat-shrink tubing around the 14500 batteries to prevent them from moving excessively.
Anyway, now that I think about it, the battery holder started giving me problems when I put the stiffer, higher profile wheels on the bike. Perhaps the increased vibrations caused the battery holder to fall off the seat post.