the glitch isn’t in GC, it’s in the arduino math libraries.
When you try to make a very small movement, and still have very large positions,
you run out of precision due to the fact that the arduino only supports
single-precision floating point numbers.
This in turn means that two points that are supposed to be different end up
being the same.
If you define an arc with the same starting and ending point, that is supposed
to be a full circle.
the ‘arc radius too large, replace with a stright line’ logic is an attempt to
work around this problem by detecting one type of problem and change the g-code
to eliminate it.
But other very small movements can run into the same problem, and it looks like
your tiny move is running into the problem.