The collision fidelity of the union is lower res than what you expect. This happens often when using large unions or meshparts, or if they have complex geometry. You can view the collisions geometry by enabling the setting in Viewport Options.
Change CollisionFidelity property of the union to be “Precise” and it will likely be more accurate.