Well, this one is tricky!
I haven’t figured it out completely yet, but it has something to do with the keyframing of the Lifetime of the Particles.
The Viewport doesn’t seem to take that into account somehow, but the Render does. Hence the difference.
With Keyframes:

And without:
