We are seeing an "update" transaction coming before the "insert" transaction. Replay ID of Insert is higher than the Update Replay Id. Is this expected to happen?
This can easily happen. Push topics are not guaranteed to even be received via the streaming api. They are one way with no verification and are processed in the order they are received. In essence, there are no guarantees. If you want or need reliable transfer of data, you will want to create a REST API integration of some kind.