I think I fixed it by changing the "Scaling Style" parameter on UIRoot script from PixelPerfect to FixedSize. At least here at my day job's PC, the GUI is at the same location where I left it at home, and changing the game views aspect ratio didn't break it, either. Tonight I'll test it at home to see if it stays at the same place there, but I think it will.
From the "catering to screen sizes" video, I understood that FixedSize (or "manual" in the NGUI version shown in the video) is the most recommended setting, so I think it should be the default option instead of PixelPerfect.
And ENAY, the problem was things changing the Y position and size, not the depth or things getting in front of the others when they shouldn't.