I think is something related to point order.
When you, for example, do the SwapUV on a surface, points order is not really changed … but a “flag” is set =true somewhere (i think).
So the flipping of a surface is on a flag somewhere, and the point order is always the same.
Maybe during the untrim command all the flags are lost.
What I assume causes this:
When joining multiple (trimmed)nurbs surfaces together to form a solid, it could be some of these surfaces are initially pointing inward and others outward.
To fix this there is a state for each brep face that can be switched to flip the natural orientation to align with the solid. https://developer.rhino3d.com/api/RhinoCommon/html/P_Rhino_Geometry_BrepFace_OrientationIsReversed.htm
However if you explode and untrim, the natural orientation is back resulting in unexpected normals.