About native apps, the problem I describe here will usually start at the browser, as it assumes the user reached a post (i.e. an ActivityPub Object, likely a Note) in another instance on the web. If you reach this content from your native app, then the problem described here does not exist.
In this case, if you find content on the web and want to interact with it on a native app, then a custom URL scheme handler as a streamlined UX for cross-instance interactions on the web seems more suitable.
Ignoring for a moment the criticism to using Web APIs, I think both solutions could coexist. If you use a native app, you would not have configured the browser as a client, or explicitly configured that you do NOT want to use it as a client. In this case, if the web app can identify this intent using the Web API, it could fallback to using the custom url scheme as a fallback, which would then trigger an interaction through your native app.
I can’t comment at the moment on Solid or SSO alternatives, as I don’t have sufficient knowledge or experience with this topic.