I am usually wrong. Just ask my wife.
How do you explain fact that I always get the exact 4.0000 mm in your little exercise instead of 3.997 or some other imprecise number? I did not try your "fix" but was just using the long-standing FreeCAD algorithms.
Have you read the OCC documentation on this subject? I have.
You are wrong.