Maintaing Data Packet Wholeness Over RS-232 Serial Port?
The data is not packetised on the wire (unless you're using USB-serial), so there is absolutely no guarantee that the data will stay together in any particular way.

If you "drain" the input and wait for incoming bytes to stop, then you can be fairly sure you've got all of it that was sent, and you can work backwards from the end. Unless one of the bytes in the middle was lost or corrupted.

Most sensible protocols use "markers" to indicate start or end of data. This is why most serial protocols look like ASCII text which ends lines with CR/LF.