Blender doesn’t support holes in faces for one reason: resources. Ten years ago when the mesh system was rewritten there were exactly two of us working on it. At one point I actually did start coding support for holes in faces, but it seemed too ambitious so I dropped it.
I kind of regret that; I’ve since implemented holes in faces in other 3D modelling projects of mine and it wasn’t as bad as I thought. It’s a real problem for CAD modelling. In fact, for years I would tell people that Blender does not support CAD workflows, because it doesn’t support holes in faces. When I made the decision not to support them I knew it would make CAD workflows more difficult.
Sadly no one ever listened to me. I really hole someone fixes this, heh.