Why movementX in a pointer lock events returns a sum of movements instead of individual ones?

Recently my code depends on Pointer Lock API cannot work properly on Firefox and Edge, but still works fine on Chrome.

I tried printing the mousemove event after requestPointerLock(), finding that the movementX and movementY value seems to be a sum of movements from the first click, instead of individual movement that is said at the specifics.

I am pretty sure that it was working several weeks ago, but it suddenly cannot work anymore.

Firstly I thought it was my problem, but after debugging, I believed that browser behavior was no longer correct.

I tried the MDN example, but it was also broken on Firefox. I could only see the red balls flying around at ultra speed instead of moving smoothly.