It seems like this approach could work for a greenfield project, but would be difficult to implement (at least at first) in a legacy codebase.
I’m curious, how often have you actually re-used the presentation layer between an Android and desktop project in production software?
I agree with your point in theory, but in my experience it tends to introduce more overhead than necessary for smaller apps and libraries when you try to keep the presentation layer 100% decoupled from the framework, especially if you want to eventually take advantage of something like the ViewModel architecture component.