Alright, so the issue was a simple one and was due to the legacy way of setting things up. The box colliders in that example are present on game objects rather than on widgets, which means that depth calculation for game objects takes the lowest depth of the widget within. This resulted in two box colliders having the same depth.
I've fixed it by moving the box collider onto the background object instead, where it should have been to begin with.