I like the service worker approach but I don't feel convinced with the idea of app in the browser you have lesser capabilities. And that's why I added Native Solution because, to leverage the device capabilities, Native is the way to go.
As it is Dashboard app, and I am not sure about the scale of data being managed, I would consider data like 1000+ rows of complex touples at a time. And in that scenario, Native will give the optimum performance.
Hybrid have a bit of advantage as they are just the WebView, not browser itself. So you can store and cache the things more persistently.
In Service Worker, it is exact browser; so it will be limited and with large amount of Data, Mobile Browsers are famous for throttling the JS thread.
For Small amount of Data and simple Dashboard, Service Worker is really good idea.