Battery voltage divider disconnect doesn't work with full charged battery

In the Wireless Stick V3, the circuit to disable voltage divider for battery voltage reading doesn’t work with a fully charged battery, causing a continuous current draining even if GPIO37 is set to HIGH. Measuring pin 1 you always see the voltage present.
Looking at the related schematics portion, we can see that the gate of the channel P mosfet (G1) is pulled-up to Vdd_3V3. While the source (S1) is attached to the VBATT


This is done to avoid damages on GPIO 37 with a too high voltage but, when the battery is fully charged, VBATT can be even more than 4V, meaning a negative Vgs greater than the Vgs threshold declared on datasheet. This cause a undesired conduction between S1 and D1.

I’ve modified the circuit adding a channel N mosfet driving channel P, in order to isolate VBATT from GPIO.

.

Now it works correctly draining current from battery only when needed