Web does not and will never have the same quality of experience as a native application.
What is missing in your estimation?
WebAssembly and efficient arrays bounds checks.
Do you use slack? Is that a "web" app or "native"? I think the lines are blurring.
It is like using all web apps in native wrapper and the telling that all web apps looks like native apps.
Slack desktop is a webapp packed in native wrapper.
I use the Slack web app, but others heavily prefer the "native" aka "fat" client. The fat client isn't much more than a wrapper for the web, but both are more than just an interface for the API, which can be a bit laggy.