Fedora, like many other distros does not ever build its packages with cross-compilation. Sure, it "works" but it's more than just compilation we care about in building on target. Runtime tests, etc. can all be made to work using various projects that are out there to glue a cross-compiler into running tests on target - all of this can be done. But we don't. It's just a bigger-than-ARM specific policy of Fedora that everything is build on target.
So. Given that we needed to build the world, on the target, this is what we did and how we did it. And even bootstrapping Debian I happen to know is a great PITA too. Wookey and others have done some good work there, and I'm genuinely impressed with the multi-arch work that feeds into some of this (and which we don't currently have plans to implement, but that could change if there's more than ARM specific interest in doing it within Fedora).
All of this stuff is hard. Bootstrapping happens relatively infrequently but we decided it was better to know how to do this. The next trick will be to have it nicely documented for the next time someone needs to do this.