The weak pull-up is a current source inside the ESP32 chip. Of course different modules might have different ESP32 variants, but those are in terms of number of cores and memory capabilities. AFAIK all ESP32 have the same GPIO0 structure.
If your problem is not reproducible in the lab, it may be due to environmental causes.
An unbounded 45K pull-up means that any residual humidity draining 50uA will put you in serious trouble. Yes. that is high, though.
A floating pin with a weak pull-up, no filtering, and perhaps being exposed for the sake of easy reprogramming may be susceptible to noise; though latch-ups are not so common these days (the internal pin structure might act like an SCR and short circuit to ground or Vdd).
I did not deeply dive into the internals, but as I said before, the chip is mostly powered off in deep-sleep. That means that when waking up, it will start up just like on reset. GPIO0 is a strapping pin; the datasheet states this:
During the chip’s system reset release (power-on-reset, RTC watchdog reset and brownout reset), the latches of
the strapping pins sample the voltage level as strapping bits of ”0” or ”1”, and hold these bits until the chip is
powered down or shut down. The strapping bits configure the device’s boot mode, the operating voltage of
VDD_SDIO and other initial system settings.
Each strapping pin is connected to its internal pull-up/pull-down during the chip reset. Consequently, if a
strapping pin is unconnected or the connected external circuit is high-impedance, the internal weak
pull-up/pull-down will determine the default input level of the strapping pins.
To change the strapping bit values, users can apply the external pull-down/pull-up resistances, or use the host
MCU’s GPIOs to control the voltage level of these pins when powering on the chip.
After reset release, the strapping pins work as normal-function pins.
That means that you can’t control the pull-up/pull-down internal resistors on reset.
Unless there is a difference on deep-sleep wake-up that I’ve overseen, you need hardware to solve your problem.