None of the depth/sorting layer or hierarchy order anything will do this. If I create a UI button and then another UI button on the same canvas the second button is on top of the first, this is correct. If I create a UI sprite and then another UI sprite the second sprite is on top of the first, this is also correct. But if I create a UI button and then a UI sprite then the sprite is under the button and nothing changes that. Also tried creating multiple canvas with no success. Depth doesn’t matter, canvas depth doesn’t matter, hierarchy order doesn’t matter with either 2 canvas or 1.
Look at the render queue on any materials you have applied.