You could possibly write a script on the client that detects how far away the player is from the part with the gui on it, and if they are a certain distance away, make it not visible.
I’m currently working on something similar however, I have parts infront of a surfacegui that does not have the always on top property enabled, and it still clips over.
Please note, the part is relatively close to the surfacegui and ive experienced similar behaviour before… however, I don’t really have a work around for it in my current application.