I don’t know if it is a bug or a wanted behaviour. But the OnPointerOverTrigger is triggered even when the mesh is not visible because it is hidden by another mesh.
But I have the problem only with OnPointerOverTrigger and OnPointerOutTrigger because, with OnPickTrigger, the event is not triggered if we can’t see the mesh.
So it would be weird and not obvious to have different behaviours depending on the pick event.
I found a former topic talking about the same thing: Check Visibility PointerOver Action - Questions & Answers - HTML5 Game Devs Forum
And here is a playground to reproduce: Babylon.js Playground