This is an annoying bug that I encountered the other day. Basically, surface gui’s always appear on top, even with particle effects.
Here’s a picture of two parts. On the left is a part with a smoke emitter, and a surface GUI on the top surface. On the right is a picture of the same part, except with no surface gui.
I believe that’s because GUIs are rendered at a different point in time to the world, (including particles) to ensure that GUIs do not face Z-index issues with the world.
As much as it would be nice to see this fixed, I don’t think it would be an easy fix to implement.