How to wait for WordPress Core to load when writing OOP?

The core problem is that you are not writing OOP. OOP is about identifying objects in your system, not actions. If you want to identify actions than you are better to follow functional design paradigms (and with wordpress hook system, functional design make much more sense).

In your case redirect is an action, that probably follows an object state transition, therefor it should not be an external API of the class.

Of course the object in this case can be a “redirect controller”, or better a “browser” object but for most people that will be one abstraction level too much.

Please, take into account that these redirect methods are much more complex in live code, passing for example error messages and old inputs through sessions

So this is a case where you have a complex decision tree, but it doesn’t sound like you have any object state transition, therefor it is not actually something that should be part of an object, at least not more than a utility function.