I had the same after every stage, if you look at the results post event it is all sorted out correctly. I look at the results in zwiftpower but the Campanion app has them too.
This happens if you join late, even if it’s a few seconds late and you finish fast. You have to be in the starting area and do the full ride to get a normal result.
Well in my case I didn’t start late and just finished the full ride as normal. My guess is you are part right as the messed up finish had me further back (late starters in front of me) and after Zwift had done its thing I got moved to my actual position. Now all I need to do is practice loads more get my ftp up so I don’t finish so near the back all the time.