Unfortunately it turns out this fix doesn’t work, even without bloom z-ordering with 3d ui elements doesn’t work correctly and depends on order of insertion. Setting them all to the world layer introduces new issues. After some digging I’ve discovered that its because the materials have depthWrite set to false. Is there a public way to update the material of a text element because this is not great but it does appear to allow correct depth sampling on the ui elements
entity.element._text._material.depthWrite = true;
entity.element._text._material.alphaToCoverage = true;
entity.element._text._material.update();