Using Smart Booleans with Subsurface modifier to get smooth edges
Usually hard surface modeling workflow avoids to make holes in a sphere exactly due to those problems. Also you should never add subdivision before a bevel. Bevel only works well when the vertices of the sphere are not caught inside the bevel.

When they get to close you see artifacts.

The denser the topology the harder it is to keep vertices away.

That's why I suggest not to use subdivision surface.
As a pro tip you can also keep bevel segments low when you use weighted normals modifier after the bevel.
This is single segment bevel without weighted normals.

The setup I usually use:

And this is after weighted normals modifier was added.

Looks just like a bevel with many segments, but it has much smaller chance of generating artifacts.
Only other solution is to apply the modifiers and perform manual cleanup. Several commercial add-ons (I think it was BoxCutter or HardOps) ships with a script to clear the topology to fix exactly this problem.