If you invert the logic – so that idle and stop bits are LED OFF –, you can trivially push UART through a TOSLINK or two (for a bidirectional link, you obviously need two, since each TOSLINK cable is unidirectional).
You do want to limit the LED duty cycle to under 75%, to keep the dissipated heat to within limits in the transmitter. With 8N1, you have at least the start bit high and stop bit low, so the duty cycle is between 10% and 90%. With 8N2, between 9% and 82%. If you transfer ASCII text, duty cycle will be between 20% and 70% for 8N1, and between 18% and 64% for 8N2.
Here are the original Toshiba TOSLINK transmitters I know of:
TOTX141 and TOTX141P are three-pin devices for 3.3V logic, and the datasheet recommends a 100nF bypass capacitor between VCC and GND.
TOTX1350 is a two-pin device, and seems to require a buffer/driver (like HC04, a hex inverter) and a couple of resistors and capacitors; the LED is driven at 1.5mA to 6mA, with a forward voltage of about 2 V.
TOTX1353 is a three-pin device, and requires a current-limiting resistor to the VCC pin. The forward voltage of the LED is about 2 V, and only needs 1.5mA; so 2.2kOhm at 5V, or a 820 Ohm at 3.3V.
Here are the original Toshiba TOSLINK receivers I know of:
TORX141 and TORX141P are three-pin devices for 3.3V logic, and the datasheet recommends a 100nF bypass capacitor between VCC and GND, as well as a 47µH inductor between supply and VCC.
TORX1350A is a three-pin 5V logic device, and the datasheet recommends a 100nF bypass capacitor between VCC and GND, as well as a 47µH inductor between supply and VCC.
TORX1353 is a three-pin 5V logic device, and the datasheet recommends a 100nF bypass capacitor between VCC and GND.
I do believe most of the devices you'll encounter are clones or compatible to one of these three. (If you discover otherwise, do let me know, please!)
For current 3.3V microcontrollers, it seems to me that to transmit using TOTX1350's, one needs a buffer/inverter and a couple of passives, but the overall current is much less (1.5mA - 6mA, compared to 15-20mA on '141). To receive using TORX135x's, one needs a voltage level translator to 3.3V logic and a 5V supply (SN74LVC1T45 would be my choice), but the overall current is similarly reduced compared to older '141s.