I've been adding XON/OFF (or rather vice versa) to STM8EF. In theory it should work like this:
After receiving CR the eForth sends XOFF (0x13), the interpreter starts processing, some text followed by a LF gets written to the serial interface, and then XON (0x11) is sent to indicate that the next line can be received and processed.
In practice all the Linux terminals I tested are based on the termios layer which apparently doesn't stop transmission after receiving XOFF.
Edit2: I traced the problem through picoterm, stty/termios, line-discipline, and all the driver levels down to the device driver (e.g. 8250, or CH341).
The short version is that there is no such thing as "flow control" in
any USB-serial adapter based on USB-serial. The long version is
here in the 5th post.
I'm at it. Stay tuned :-)