Marlin and Klipper are not actually faithful to what is in your g-code. Both will move through corners without going down to zero velocity, this results in a point with infinite axial acceleration, which is physically impossible and will generate a somewhat rounded corner while also causing vibrations in the printer. Prunt replaces this with a small rounded corner with G5 continuity, which results in less vibration as there is bounded axial acceleration (and jerk/snap/crackle).
Klipper and Marlin do support circular arcs if they are added to the g-code by the user, but these are not quite as good as our corners as they have infinite axial jerk at the point where the arc meets a straight line, as shown in the below images:
I should also note before someone else does that technically infinite pop makes our corners physically impossible too, however at the 6th derivative of position it really ceases to matter in practice.
Most motion control systems for machining, etc, do the same thing: they do weird things at corners that follow the toolpath within a small tolerance but don't require slowing to zero.
Changing velocity too much has its own impacts on surface quality, that can be larger than moving off the toolpath by a small distance.
G-code / RS-274 is an industry standard far beyond 3d printing and this behavior is pretty standard for controllers/implementers at this point.
There is an "exact stop" mode G61 in RS-274, but it's not often used, instead of the G64 "path blending" mode. There are also extensions that I think are pseudo-standard, like G64 Px.xx lets you set a tolerance value in many controllers.
If your machine is physically accurate to X under perfect, slow conditions, you don't lose anything by telling it to blend paths to a tolerance of 2X during periods of high acceleration.
The problem is common g-code asks for things which violate physics. No amount of engineering or materials science can turn a moving printer head at a right angle with absolutely zero deflection. Even giant many millions of dollars CNC machines do all sorts of tricks to make corners (and a million other gcode problems) handle more gracefully. Most such big systems actually read ahead in gcode dozens to hundreds of steps to modify it in flight to get the best performance from the machine.