Like a year ago I was listening to a friend complain about theirs issues with the Godot engines particle systems when used with animation players. They said that it seemed inconsistent... sometimes it would play, sometimes it wouldn't. I thought that was strange, but my game didn't run into it, so there wasn't much I could do to help.
Of course now I'm working in 3D games with many more particle effects, and of course I run into the same problem. After a bit of research I find this work around linked below!
https://github.com/godotengine/godot/issues/58778#issuecomment-1464281606
And I gotta say, it definitely works! Not much harder to implement than emitting = true either, and no more periodic failures for particles to emit. Hopefully someone can work out the root cause someday, but at least the work around is very easy if you know it.
So if you are emitting a particle effect in Godot, and it doesn't emit consistently, try using the restart method!