From lived experience, creating a cross-platform application via abstracting the relevant native interfaces versus targeting web with all the _fun_ that entails are effectively equal levels of pain. Developing rich web apps isn’t free either; I needn’t go into the issues surrounding the revolving door of frameworks, contrived state management patterns that seem to change every year, the total lack of standard controls outside of built-in web elements that look awful which inevitably means that at some point, _you will_ have to be doing DOM manipulation for something that is otherwise built-in on an OS’s native toolkit, etc etc. And then when you put all of this together, you add yet another 500MB Chromium instance onto your user’s desktop and the thing feels like a social networking app.
I’m not going to pretend that there’s currently a better solution because for the current set of constraints everything sucks. .NET has a few up-and-coming frameworks for cross-platform UI but nothing mature like WPF was. Java still produces noticeably slow applications. React Native could perhaps get part of the way there, but as far as I’m aware that mostly targets mobile.