It’s not working because that big PMOS FET has too high of a threshold to be turned on with Vgs of just -3.3V (look at the VTO parameter in the Spice model: it’s -3.528.) 3.3V logic won’t cut it.
What you’re seeing with 10k load is the FET in ohmic region. When you add the real ESP32 load it’s dragging the drain down. (Forget about using an ohmmeter to measure the ESP32 ‘resistance’. You need to use an ammeter to measure its operating currentYou need to use an ammeter to measure its operating current. Or, look at the data sheetdata sheet.)
The fix? Use a smaller, lower-threshold PMOS. The FDN306P is a decent one that can work with 3.3V logic, which at -2.6A should have more than enough current for your ESP32 which needs only about 0.5A. This FET is in a popular SOT-23 package; you can find many similar pin-compatible ones from many vendors.
Tip: in the unlikely event that you find that a single FET isn't quite enough, you can connect more in parallel.
I’m not sure why you need the 2N7000. Isolation? Anyway, You can control the FDN306P directly with a 3.3V GPIO, or keep the n-FET if you need the inversion.