Penso che la risposta breve alla tua domanda sia che il motivo per cui non vedi accadere molto come quello che descrivi è che l'archiviazione locale HTML5 non è in alcun modo all'altezza del compito, e lo abbiamo fino agli ultimi due anni o quindi mancava qualcosa che fosse specificato per fornire una soluzione migliore.
Informazioni sullo storage locale HTML5 in particolare: presenta una condizione di competizione e alcuni altri problemi che ne impediscono l'utilizzo nella produzione per qualsiasi applicazione in cui si desidera garantire che non vi sia corruzione dei dati e dove si desidera poter archiviare di più di semplici stringhe.
È possibile che i problemi nello storage locale possano essere risolti, ma in realtà nessuno dei produttori di motori di browser ha alcun interesse a questo punto nell'affondare ulteriori risorse nelle loro implementazioni di storage locali. Preferiscono tutti che gli sviluppatori Web utilizzino alternative all'archiviazione locale.
Ad ogni modo, per il caso d'uso che descrivi, per fortuna ci sono in realtà soluzioni più solide. Il pezzo chiave in futuro sarà Service Worker e, nel contesto di questa domanda , il Service Worker Cache e CacheStorage interfacce specifiche.
Anche IndexedDB è la soluzione di livello produttivo che il runtime Web ora ha per il caso generale di una robusta archiviazione dei dati sul client, con implementazioni efficienti e con un controllo più ricco di funzionalità sul tipo di dati memorizzati e sulla modalità di archiviazione.