I made the plane to work with mesh vertices
var plane = new Plane( hit.transform.InverseTransformDirection(normal), hit.transform.InverseTransformPoint(position) );
If the object has the uniform scale then all looks good
but otherwise the plane normal has weird angle and I don’t understand why.
Blue line – my plane
Green spheres – plane intersections
white sphere – plane center
Maybe it can be calculated directly with worldToLocalMatrix?