Preview vs. captured stream
The live <video> preview element gets a CSS horizontal flip so it behaves like a bathroom mirror while you frame yourself. The MediaStream handed to the recorder is the original, unflipped feed from the camera, so the file written to disk shows the same orientation the camera itself sees, not the mirrored preview.