Why Did My Photo Dates Shift by a Few Hours?
Something converted the time between time zones. The moment is the same; the displayed clock is not.
A shift of exactly one, two or several whole hours is the signature of a time zone conversion. A random scatter of minutes would mean something else; whole hours means zones.
It usually happens when a tool reads a UTC timestamp and writes it out as local time, or the reverse. The photo is still of the same moment, just labelled differently.
Takeout JSON Metadata Fixer is explicit about this rather than guessing, so a library does not drift by an hour every time it is touched. It runs on your own computer and is free for your first 500 photos.