This is because whenever your velocity on an axis reachs <.003*slipperiness*0.91 (<.005*slipperiness*0.91 before 1.9), it will be set to 0 for the next calculations since it is "negligible". This code was put in to let the player shift at the edge of a block without having to wait for their velocity to perfectly hit 0 (for instance, in minecraft 1.0.0, this wasn't implemented, and you had to wait ~20 seconds before unshifting, otherwise you would fall off the edge).
In the case of shifting on normal ground in versions above 1.9, if you're at a speed <.00549 on an axis, then you will never accelerate properly on that axis, which causes the issue. In your example, you move at a speed of .00307, which triggers the bug. Fixing this bug would require removing that piece of code, which would require recoding shifting at edges (which they probably should, it is very buggy with ice).
Like I said in the issue and in the affected versions, the bug still happens in every versions/snapshots after 1.18.2 (which includes 1.20.4 and 23w51b). I've added a video of it in 1.20.4.
Sorry, I just wanted to be somewhat rigorous with my explanation. Making it not per-axis does solve this issue. However, even after the fix, it still affects other parts of the game, such as shifting at the edge of ice, and other more specific/less important bugs. This is mostly why I saw removing that part of the code as a better choice, since it would remove all of those other issues aswell. Sorry for bringing up older versions.