It's definitely unfortunate that SDK-specific macros don't work cross-platform atm, but this is something that folks including @Max_Desiatov and myself are working to alleviate with WebAssembly macros. I can't speak to whether Apple will rebuild their all-in-one-plugin-server-based macros with WebAssembly but the use cases extend to functionality like hermeticity and more restrictive sandboxing so I certainly hope so.
It makes me really happy to say that aside from macros, cross-compilation from Linux to Darwin is completely feasible and actually a really nice experience ![]()
You can give it a spin yourself today: just install my the Darwin SDK from here and build your SwiftUI app in a SwiftPM executableTarget! If you build for macOS you can just copy the executable over and run it, and on iOS you can bundle it into a .app, sign, and install. (Aside: still figuring out whether I can distribute this as a package or whether I should require people to download Xcode.xip themselves)
I'd also recommend checking out my previous post on the topic here (things have come a long way since then; the DX is a lot nicer now):
As well as my talk from SwiftTO last year: