There's possibly smarter ways to handle this with Service Workers, CacheStorage, or other APIs. But with Indexeddb you could store blobs or array buffers up to 512MB on some mobile devices, 2GB on others. So there's like 100 songs offline.
I won't pretend to understand the limits of Safari on iOS, but having the storage amount be based on the capabilities of one's device and not on the amount of actual storage available on it is a poor user experience, especially so if 512MB-2GB is the actual limit. In that sense, I would consider the ability to download as many songs for offline use as my phone's actual storage allows to be the feature, not necessarily simply being able to download a song for offline use.
Sure, there's arguments to be made both ways. But it's a far cry from "there must be a native app because 100 offline songs isn't enough."
This is kind of funny because you're describing the opposite of a ridiculously painful issue I've been dealing with: Signal on iOS eating up and refusing to free 20GB. I wish I could limit how much space an app is allowed to use.
Furthermore, this is actually kind of proving the point: Apple is the one who picked the limit for their browser. Probably because they don't want you just using web apps. They want you thinking blissfully that the browser is inferior and you must go get native apps.
To be fair, browser should be inferior to native apps. Browser is a virtual machine running a clumsy and severely limited operating system, executing all software via interpreted programming language. Either there shouldn't be other OS than Firefox OS, or browsers shouldn't be used as a replacement for your OS at all. I'm personally leaning towards the latter, and consider modern browsers to be a horrible atrocity, a fatal mistake that shouldn't be made, but couldn't be avoided. I hate web-browsers.
That being said, it is just silly to equate native apps to centralized proprietary app-markets. I cannot even truly empathize to all these complaints, because to someone who uses Linux with all its packet managers like pacman/snap/F-Droid it's actually hilarious how people voluntarily buy iPhones and even overpay for them!
Apple has had poor support for PWA's for a very long time - the CacheStorage was limited to a useless size, still no Web Push Notifications, just generally broken and noncomplaint.