If client receive data from it's receive socket buffer before retransmission, client will take the original data.
But, if not it depends on how OS's kernel controls.
What happens if retransmitted data is different from original data?
As a result operating systems that I could test(Windows, Linux) didn't update payload to retransmitted data.
You can check out the packets I captured in testing here.