One alternative to Comlink is to use IndexedDB transactions and polling.
IndexedDB can be shared amongst Web Workers for the same origin (localStorage cannot).
https://dexie.org is a nice IndexedDB library.
As an example, if you have many web workers, each can write their current state or use transactions to take items from a queue, and a central UI can just query the single IndexedDB.