Steps are not recorded as a single number, but instead as a list of timestamped+GPS’d events (probably in small batches rather than per-step). This is the data they’d want to collect about you if their goal was to monetise your habits.
“Number of steps” on the UI parses this list of step batches to work out how many steps you have taken, but also subtracts a previous number from it (eg global number of steps at start of day) to get just the steps for today.
Timetravel caused by timezone change or daylight savings. The global number of steps at start of day ends up bigger than the sum of steps batches. Perhaps the sum of steps batches only gets processed up until “now” and “now” has moved backwards.
Can someone guess how this happens?
Random possible explanation: