I did manage to get reset working by connecting RTS to a small RC circuit, and I've tried inverting DTR, as the PL2104 has active-low outputs for RTS and DTR. esptool sets DTR to 1 (in my case, pulling it low). Inverting that using a TUN gets me the right level at GPIO0. But: Serial Monitor also asserts DTR, putting the module into bootloader mode on the next reset.
Is Serial Monitor doing the right thing? Should I use a different hookup, for example, the nodemcu one?