This is a surreal problem.
Basically, the player has some ability which allows their layer to change. If the player is standing on something, and then changes their layer such that they should now not be colliding with that thing, they will float in the air. Unity does not register the collision exit and so they do not fall.
However, as soon as you change the player’s localScale (and I stumbled on this by sheer chance) they will fall through it.
Is this a strange collision bug? Bug or not, is there any other known way to cause the player to fall when they should? I don’t really want to have to change the scale just for this.