In the game clip. Your client predicted that the players touched the ball, but server side they did not. When your client predicted wrongly, very soon after the server corrected your client.
In the saved replay clip, the client-side prediction happens again (don't ask me why replays have client-side prediction). However, instead of the replay correcting your client, it doesn't correct your client until the ball begins to move as new information is sent.
/u/Psyonix_Cone, might want to force updates on a still ball in replays? Kind of like what you did with in-game client predicting, but now vice versa for replays.
A very, very similar issue was present long ago. What happened was clients in-game predicted the touch, but the server saw there was no touch. So the majority of the clients in the game predicted the touch. Usually except for one player, who's client knows their car didn't touch the ball (as they're the ones with access to dodging away from the ball at the last second or something).
What this caused was all players chasing down a ball. This ball was a phantom ball, as it was a "predicted" ball. Issue is, because the ball never moved on kickoff, it wasn't coded for the server to update you information on a still ball server side. So because it wasn't updating a ball position for your client, almost everybody was chasing a phantom ball. However, because replays are server sided data (compress, variable, and lossy, so don't take the replays as final word of the server, especially because they use client-side prediction), the replays would not show the ball being hit, so there was no phantom ball. What you did see was a bunch of cars chasing ghosts. You can see examples of this that I have found.
Example 1: You can see this fit my explanation perfectly. Player 1 (top screen) predicts Player 2 to hit the puck. So the puck starts moving. Player 2's client didn't predict himself to hit the puck, because on his screen he dodged away from the puck slightly, slightly sooner than Player 1's client. So Player 1 is experiencing a phantom puck. The reason why it's a phantom, is because the server isn't correcting Player 1's client.
Example 2: The same predictions, except now you get to see how absurd the server corrections are.
Example 3: This one's special. The player's client predicted himself to hit the ball, which doesn't normally happen. The only reason why it happened was because as the player hit the ball, he got bumped. That's what happened on his client. But really what happened is on server side he was bumped just before he touched the ball, so the player who bumped him predicted the ball was not hit. I'm not sure if the other players have a phantom ball in this situation, but it is possible.
This was easily fixed. Cone fixed it by forcing updates to the client on a still ball, where as before as long as the ball was still server side, it wouldn't send updates about the ball. Think they didn't want to use extra data than necessary, and didn't think updating a still ball had any point (until this netcode bug was discovered, that is). Source. Quote:
"I think I'll fix this by forcing the server to send the ball's position a few times a second even if it isn't moving."