These auto-program circuits have been popular for a long time. They replace the need to press boot and reset physically to put the MCU into programming mode.
Some USB to UART converters do not have a DTR pin, but do have GPIOs that can be programmed with alternate functions.
From the datasheet:
DTR: Data Terminal Ready control output (active low). Note that this pin may toggle when opening a COM port on some operating systems.
GPIO: The pins can be made push-pull to drive external circuitry like LEDs. In addition, the state of these pins can be configured during standard operation, during Suspend, and immediately following reset.
Considering that the transistor-based circuit just needs both to be low to enter programming-mode, can DTR be replaced by a GPIO (on the CP2102N side)?