Opening serial port for reading, when data is already flowing
Let's consider a continual serial stream coming out of a TxUART into an RxUART. No intervals between bytes and only 1 stop bit. TxUART is already running and mid-byte when RxUART goes ready to receive.

There's a temptation to think that RxUART will never synchronise itself to the transmitted bytes from TxUART. That it will take the next 0 as a start bit and then finish receiving in the middle of the next byte and so on.

In actuality, it synchronises fairly quickly, worst case within a couple of hundred bytes.

RxUART is looking for a start bit...actually a stop bit followed by a start bit, so a falling edge. 9 bits later it needs a stop bit. So it's looking for:

10dddddddd1

If it doesn't find a 1, and it often won't, it's a framing error and that byte will be discarded anyway. It will then search along for the next 10 stop-start bit pattern. So it's 'sliding' along the TxUART serial stream, getting closer to the real start bit every time. Once on a start bit, stop bits are in the right place and it stays sync'd.

For the record, I did the analysis once on a system with an RxUART starting up randomly when a TxUART was already sending continuous incrementing bytes. My guess was that it wouldn't ever sync'. My study quickly showed that the number of incoming incrementing bytes before RxUART syncs' is 2 minimum and 128 maximum. Here, your data is more random but the principles still stand.