TI used to have so-called "software implementations" for UART and I2C for their MCUs, which use "bit-banging".
Porting this code from one Cortex M to another is not really difficult.
> Target is LPC8N04, desired baud is 460080.
Though this is far too optimistic for a M0+.
I guess you are talking about Modbus RTU.
The only challenge is the inter-message gap, the rest of the protocol is mostly standard UART.
There are plenty of free Modbus implementations, perhaps you can draw inspirations from them, or consider porting one of them.