Maps are so often done as native apps that to my knowledge no one tried to just use the PWA capabilities to cache tiles on the Web. Of course what's hard is cache invalidation. Does the user want to update the tiles ? Never ? Daily, weekly ? Only some regions ? Or manually ?
Here's an issue about that : https://codeberg.org/cartes/web/issues/1078
It's in French, unfortunately Codeberg has no auto-translate capabilities yet.
app: https://maps.bpev.me
source: https://tangled.org/bpev.me/maps
Based on results from indexeddb pmtiles work: