I’ve been noticing this lately, if I sub-object select a face of an object that has not had its base surfaces shrunk, the Gumball initially centers itself on the underlying untrimmed surface (see below):
ShrinkTrimmedSrf on the object will reset it in this case.
Attached are two files - one the object from my model in the image above, another with a cube and a plane.
Use BooleanSplit to split the cube with the plane. Delete the plane and the upper split part of the cube. Then try sub object selecting the small lower front face of the split cube. You should see the same type of thing…