I'm not an Android developer, but the WebStorage#deleteAllData() method looks like it would accomplish what you'd want. If it doesn't, that sounds like a bug, and I'd recommend that you follow up via whatever mechanism is used for Android framework bugs.
Alternatively, and since I am a web developer, here's a JavaScript approach to clearing things out. Note that what you're referring to as a "service worker cache" isn't actually limited to service workers; the Cache Storage API is exposed in both the work global scope and as window.caches, so it would be used directly from the context of web pages. So you can run code that deletes all of the caches directly from a web page execution context, without jumping through hoops to trigger the service worker:
caches.keys()
.then(cacheNames => Promise.all(cacheNames.map(cacheName => caches.delete(cacheName))))
.then(() => console.log('Everything was deleted!'))
.catch(error => console.warn('Something went wrong!', error));
Unlike the WebStorage#deleteAllData() call, that JavaScript will just clear the Cache Storage API, so the normal HTTP cache, as well as cookies and other site-specific storage will still remain.