thanks for your suggested circuit, but the Zero999 circuit is just much simpler, and seems to work perfectly in my tests. So I'm going to stick with that one.
Not arguing against Zero999’s circuit or promoting my solution: use whichever works for you.
But his is certainly not “much simpler.” Both add 2 resistors and one capacitor. Mine also requires adding a transistor as an amplifier, while Zero999 may reuse the existing NPN because the input signal is flipped upside down.

There is a reason for neither being really simpler. Both are essentially the same idea. Which you should take as a good sign. It means two minds came to the same conclusion independently.
editHere’s how they are similar, and how they differ.
Re-arranging things a bit in Zero999’s version,
(1) for the sake of of argument, here are the filter parts:

… and here are the amplifier parts. In my case it’s a voltage follower, in Zero999’s it’s a switch. But in this context the distinction is negligible: with so high impedances on the outputs they both just pull MOSFET’s gate to ground:

Now, the important difference. In Zero999’s circuit, R2 goes not directly to the power line, but to the base of Q1. During charging that changes little. The voltage is reduced by V
BE and Q1 is controlled by capacitor current, not voltage. However, things go differently during discharging. In Zero999’s version the only discharge path is through the parasitics: whatever leaks from the reverse polarized junctions of Q1 and controller’s D2 pin. Since we’re already in sub 500 nA range to start with (2 MΩ from resistors), this is still likely to work. Just the discharge times may be harder to predict.
(1) Most notably connecting R2 to ground, not the base of the transistor.