The mechanism is this:
Ah, now I understand. No, the rx buffer of the USB host controller does not get full (increasing it won't help), it is just that the host will not ACK the packet before the USB interrupt has occurred, so the device runs out of internal buffer.
Your complaint is that in Windows and in Linux that interrupt has too much latency for typical RS-232/UART to USB converters.
At 115200 baud, the data rate is about 11520 bytes per second. If the converter to-host buffer size is
N bytes beyond one USB packet –– remember, the converter cannot discard the sent USB packet until it has been ACKed, or indeed data may/will be lost ––, the allowed interrupt latency is N/11520 seconds, or
N·86.8µs. Let's say a typical converter has 128 bytes of buffer (so 64 bytes over one full packet at FS), which corresponds to 5.6ms. Essentially, it is double-buffering the device-to-host USB packets.
Typical desktop systems often have longer interrupt latencies than that 5.6ms under load, because the scheduling unit is of that order.
In Linux, you can mitigate this by using a kernel configured to use 1000 Hz ticks (CONFIG_HZ=1000, CONFIG_HZ_1000=y). Debian desktop (and derivatives like Ubuntu and Mint) defaults to 250 Hz, so the scheduling "unit" is 4ms.
The question is, how much buffer space is reasonable on any USB device? That is, what kind of USB packet ACK latencies one should expect in practice?
In my opinion, triple buffering (or 192 bytes at USB 2.0 FS, 1536 bytes at USB 2.0 HS) should be the absolute minimum for any kind of pipe/bus with receive acknowledge. I typically count on at least 4 USB packets: 256 bytes for FS, 2048 for HS. More if available, of course.
This means that in my opinion, a "typical" 128-byte buffer is unrealistically small. Especially when they claim to support 1 Mbaud (or higher!) rates, which corresponds (with a 128-byte buffer) to 0.56ms maximum USB packet-acknowledge interrupt latency.
Feel free to choose which one you blame: the OS for having USB packet ACK latencies longer than a couple of milliseconds, or the converter devices for having ridiculously small buffers for what they claim to do. There are very valid reasons for both.