Let me break this down:
- avoid usage in extensions, since data in it can be deleted by privacy features
- changes trigger
window.addEventListener("storage", listener)
- use in extensions
- changes trigger
browser.storage.onChanged
The “doesn’t work” was that the event listener you were using does not fire for that storage type.