Is there a simple (permissive license) Leonardo driver for a USB-to-USART bridge to substitute an FTDI chip?
Why not write your own?

First off, you'll want to create your own custom board definition. To do that, find the boards.txt file in the AVR core of your installation. Then find the block of entries that starts leonardo. and copy the whole block. Change the leonardo to a name of your choosing.

Then change the .name entry to give your board a new name in the IDE.

Finally look for the (renamed) entries:

leonardo.build.vid=0x2341
leonardo.build.pid=0x8036
leonardo.build.usb_product="Arduino Leonardo"


Of course the leonardo will be whatever you changed them to.  You can now give your board a new VID and PID to uniquely identify them - and also change the usb_product to name your board.

You can also add a myboard.build.usb_manufacturer="..." entry to change the manufacturer from the default of Arduino.

Now you have a board definition that identifies your board as what you want it to be.  So now just write a sketch that passes through the serial between USB and UART, and also handles the DTR and RTS signals to be able to enter flash mode on the ESP32 (hint: use Serial.dtr() and Serial.rts() to check the status of those signals).