Something is wrong with your timestamps that you are reading out of the final message.
Poll_rx to Resp_tx works out as about 34 million or around 530us, that seems like a reasonable value. The final_rx value also looks sensible given poll_rx and resp_tx.
But Poll_tx to Resp_rx are 418 million apart or about 6.5 ms, far too long. Similarly the gap from resp_rx to final_tx is completely wrong.
Poll_tx to final_tx also looks a little high, I’d expect it to be almost the same as poll_rx to final_rx and it’s quite a lot more.
If I had to make a guess I’d say at least 2 of the timestamps you are reading from the remote device are wrong which makes all 3 suspect. I’d start by putting some debug code or break points on the other end and check whether the values you are receiving are the ones you think you are sending.