The RS232 routines in the ROM of the C64 use port B of the CIA (PB0-PB7 on the userport) to input/output all RS232 signals including Tx and Rx. So these routines don't actually use the shift register capabilities of the CIA, and have to do the shifting, parity calculation and bit-banging in software. That's the reason the speed is limited to about 1200 bps.
If you connect the Tx and Rx signal instead of port B to the serial port (SP) of each of the two CIAs (SP1 and SP2 on the userport), you can do the shifting etc. in hardware. The driver for this "special" wiring was called "UP9600". The source for an adapted variant is e.g. here (the original link at jamtronix seems to be dead). Then indeed, as the CIA datasheet says, "the maximum usable baud rate is determined only by the line loading", and 9600 bps were possible.
So the 9600 bps were achieved by using the full capabilities of the hardware that was already present (and probably should have been used by the routines in the ROM in the first place).
An example of a schematic that used jumpers to allow both kinds of wiring can be found e.g. for the GLINK-LT User Port RS232 cartridge.
Today, many RS232-USB adapters use TTL levels anyway, so to connect to one of these, one even wouldn't need the level converters.