The reason is actually different for Text in WebGL and form controls - form controls are always on top even in Canvas 2D mode, because they're not in the canvas, they're additional elements in the HTML page laid on top of the canvas. I don't think there's any way around it though, form controls always have to float on top.