IMO it's lot easier to just write a native app. Or if you're going to learn a new language, just learn Flutter.
"Write once" may actually be more work. You're supporting multiple operating systems, multiple devices/manufacturers on Android. So you're maintaining the same code but it's being polluted by code on different operating systems. At best, you're writing for Chrome and Safari, where the behaviour is different, and often needs a lot of redundant lines of CSS.
A HTML5 camera may perform differently on different devices, on certain edge cases. Storage definitely acts differently on say, Samsung. If you want an Instagram Lite style gallery, that could be a lot of work to support and maintain.
Native mobile gives you more power over layouts. You have fine control over dialog boxes, pop ups, scoping across different pages and dialogs are handled better, tablet support is built in. None of that SPA stuff where something several pages in affects a previous page because of ID conflicts.
Something with the complexity of a card may take a week to get right on CSS, a couple days on native mobile. There's a reason PWAs feel so janky.
And then there's lifecycles - what happens when someone changes apps, your device runs out of memory, or a phone call interrupts. People say native is hard, but most of the hard architecture work is lifecycle management. With a PWA, you basically get none. That means someone might be deep into your app, switch screens, then lose all progress.