I can tell you from personal knowledge, synchronizing the timing would be quite simple.
Streaming will most likely use HLS or MPEG-DASH, which both operate using 'chunks' of several seconds (usually 2-10) of video material and each chunk has its own precise timecode. Now all you need is to either split stats as well at corresponding timepoints, and show them at the same time as video, or just mark 'chapters' on a continuing stat recording and then play those alongside the correct video (not to bother you with finer details like encoder delay etc - but all of that will be factored in).
As for delay between live and streaming - this is normal as any client device will want to have several chunks as a buffer for poor/varying in quality internet connection.