it should be a higher priority to get Swift supported on as many platforms as possible targeting cross compilation first.
Agreed, cross-compilation is easier.
I think it's counterproductive to focus first on hosting the compiler because it will be a lot of work
Not really, the Swift compiler is mostly written in C++, so if you're happy with C++ compilation for your platform, building the compiler should just work. Of course, building the compiler generally for 32-bit platforms has regressed a couple times, so issues do come up with C++ too, but I currently distribute a working Swift 5.6.1 toolchain that runs natively on Android armv7 devices, AFAIK the only up-to-date 32-bit Swift toolchain.
The current issue with linux armv7 is actually building the Swift stdlib with the native bootstrap compiler causing a compiler crash, not any C++ errors when building the Swift compiler itself.
It would be extremely beneficial for the adoption of Swift to verify 32 bit support is solid (ideally Armv7 since that is a huge commercial and hobby platform) before each release with a platform champion as is the case with Windows currently. The company where I work at relies on Swift for Linux Armv7 for multiple IoT products
You may be the ideal champion then. 
While everyone agrees that porting the Swift runtime should come before porting the compiler, @oof actually started this thread asking about the latter and it is more general and a superset of just getting the runtime working. For example, once you have the Swift compiler and other testing tools working natively, you can run the entire compiler validation suite, including the 1k executable tests, and really exercise platform support.
I just ran the compiler validation suite for the first time on the 32-bit Android armv7 compiler (not including the tests that require tools like swift-ide-test) on my Android AArch64 phone, and found less than 200 tests with different results when running the Android Aarch64 compiler similarly, out of around 13k tests in the suite. That is not easy to do when just cross-compiling the runtime, though the Android armv7 CI does run around 12k of those tests on linux x86_64, ie excluding the 1k tests that require running a cross-compiled executable natively.