SurfaceGui’s seem to render above any part / mesh that has a transparency level above 0.01 when the camera is facing at or above 90 degrees vertically.
In the images below I have a part with a surfaceGUI and imagelabel on top set to tile and another translucent part/mesh above and the camera is at a 90 degree angle using the view sector.
Yeah this has been reported quite a few times before, to no avail. the issue is that roblox can not handle transparency. it is essentially the same as z-fighting, but for 3d objects. unless the renderer gets updated/overhauled, we will have to live with it, as terrible as it sounds
The rendering order depends on the distance to the camera, which changes based on the camera angle. We’ve been discussing possible solutions to this problem, but unfortunately, it’s not something we are prioritizing at the moment.