VSE: One video overlays another - bottom one plays as expected, top one does not
Make sure your footages are conformed to identical frame rates. You will, for example, almost never find any North American device that will record at a flat 24, 50, 60, etc. and the actual value will be 24000/1001, 50000/1001, 60000/1001 etc. Assert that your framerates are identical, if they are not, you will need to conform them to identical rates, with the below caveat.
Conform to a motion picture codec that uses only I frames, which represent a whole frame. The FFMPEG library behind the scenes will be calculating offsets into the overall time stamps, and this will yield wonky results when you are dealing with compressed codecs leaning heavily on groups of pictures, or GOPs. The only way to avoid this, and have your cuts match perfectly 1:1 is to enforce codecs that avoid those I and P frames.


Bluntly, for this sort of an application, Blender is a poor tool, as still image formats are going to be vastly more reliable. In the context of your particular project, still image formats seem outside the scope.

See Audio/Video out of sync in rendered video, but not in VSE for more information.