As Barry alluded, PubSub messages are marshalled through another JS layer that sits outside of the extension iframe. When you reload the iframe, that binding is lost/destroyed; i.e. helper isn’t bound to anything.
And reloading the iframe “manually”, isn’t “normal work flow” of an extension. It’s not an action a viewer is gonna do when using an extension “normally”