This splits our Qt build in depends into two parts. The first builds qmake, qt tools (uic, moc, rcc etc) as well as translation tools (lconvert, lupdate etc). The second builds the libs we want for bitcoin-qt.
Splitting the build in this way has a few advantages. For example, we can enable the xml module while building the tools, and ideally fix issues like #14648 or #18536 without needing changes like #21589 or #21420, or having to build it alongside our libs.
This has been tested a little bit. GUIX builds are working for macOS and Windows.
Some testing still needs to be done in regards to passing compiler flags, DEBUG=1 builds etc. No doubt some improvements can still be made to what is currently here.
Fixes #18536.