Why are these fluid particles not being blocked correctly?
The most possible reason for that behaviour is non-manifold geometry.

When closing particles within the lamp by filling a face inside of the lamp, you create non-manifold mesh which might be hard to deal with for engine. Particles fly through from the bottom, where the face is created and which should block them.

To make the mesh as manifold one, first delete that inside face. Then you'll need to:


Solidify the mesh (either with Solidify modifier or by extruding geometry in Edit mode and scaling extrusion a bit inside).


Create a face which will block particles. For that, select edge loop, left from original face, bevel it with Ctrl+B and fill 2 new faces (they will be Ngons, however it doesn't really matter here).

Beveled edge loop:


Filling new faces:



Particles will  fly inside and collide with walls as expected: