I've seen that too. Mostly I suspect foul play just because it's so damned obvious what the problem is, and there's a hack fix that's pretty easy (run the thing that updates the number every .1 seconds instead of every second). Not that the correct fixes are that hard, or
that likely to have interactions with other things... on a technical level, anyhow.
If it is incompetence, it's a rather shocking amount of it in a very important part of the app that has a bajillion metrics tied to it. I can't say this is impossible. But I can't call it the most likely outcome.
Note that this particular behavior will never let you stop the ad early. It can only extend the amount of time it will play, by scheduling the thing that finally lets you in only when the current time is greater than or equal to the 5 seconds it is supposed to play. Jumping from 3 to 1 doesn't mean you skipped a second, it means the 3 wasn't moved to 2 at the correct time.