Ok, so Swift-the-language is cross-platform, but can't actually do cross-platform UIs. So great for CLIs, bad for everything needing a GUI?

To some degree. There are _many_ SwiftUI clones that support other frameworks such as Gtk and Windows, with varying states of maturity. Or you can share the business logic and write the UI natively in Swift.