Thanks to everyone for the opinions and ideas.
My problem seems to have been the following:
The host can receive at baud rates 115 200, 230 400, 460 800, 921 600,
but my 16 Mhz Arduino can send at baudrates 1 000 000, or 500 000. (or less)
When trying to send at 1 000 000 bd the transmission "almost succeeded", which was astonishing and missleading my thoughts. The difference 921 600 vs 1000 000 was so high that I could not believe that the host really was using 921 600 baud rate.
When the difference in baudrates was differing almost 8 % then during 9 bits the sampling moments would differ too much to get even one byte correctly.
I think that when the baud rates at the sender and the receiver are the same, the transmission should succeed even at 2 megabaud rate well. (datasheet of 328).
I probably try Bluetooth next by acquiring a bluetooth usb stick to the host and a bluetooth circuit to Arduino to send. 800 kbytes/second should be possible in theory, which solves the transmission speed problem well.
Teensy is also an interesting idea, 800 kbytes/s with usb cable. How is that possible, different software or different hardware or both?