I am currently building an app for internal use, and because I’m obsessive about presentation, I ironed out every wrinkle in this department. It’s 100% fluid, there are no layout shifts, no surprises anywhere. You would never know it’s not native. But I will admit it took a lot of effort to hunt down all the little idiosyncrasies and fix them.
I think a problem with frontend web development is that there are a lot of mediocre practices that became standard operating procedure. When I do this type of work, I try to keep the dependencies very lean and write a lot of stuff from scratch.