XIAO ESP32-C3 using BAT+ / - (LAB power supply) does not wake. USB power all fine!

Hope someone here can help me sanity-check something.

I’m using a Seeed XIAO ESP32-C3 with a small LiPo connected to the BAT+ / BAT- pads on the back of the board. I’m using the BAT pads because I also want to charge the LiPo from a wireless charging receiver connected to VUSB + GND.

My firmware can put the ESP32-C3 into deep sleep. I originally tried waking it with an A3144 Hall sensor connected to D1/GPIO3: (Tested with D2 and D3 too.)

A3144 VCC → 3V3
A3144 GND → GND
A3144 OUT → D1/GPIO3
external pull-up to 3V3

Signal levels looked good:

no magnet: about 3.3V on D1
magnet: about 0V on D1

With USB power, deep sleep + Hall wake works as expected.

But when powering from BAT+ / BAT-, the ESP32-C3 goes into deep sleep but will not wake from D1/GPIO3. I tested both with a small LiPo and with a lab power supply connected to BAT+ / BAT-. Same result.

Measured current:

awake with BLE: about 85mA
deep sleep: about 18µA
magnet near Hall sensor while asleep: about 22µA

So it really seems to be in deep sleep, but GPIO wake does not seem to work when powered from the BAT pads.

As a workaround, I connected the A3144 output to RST instead of D1, with a pull-up to 3V3. That works reliably: magnet pulls RST low, remove magnet, board reboots/wakes fine from BAT power.

Question:
Is this expected behavior on the XIAO ESP32-C3 when powered through BAT+ / BAT-? Is there something special about deep-sleep GPIO wake when running from the BAT pads, or am I missing a required configuration/hardware detail?