I'm still not sure if you're telling me that this isn't a bug. Are you?
As to the workaround, it's not practical. The west region in my app has an accordion in it, and the accordion can contain several of many components. The components themselves don't know about the existence of the accordion or the existence of the west region. I can't be expected to delay every listener in every component I write just because it *might* end up in that west region, right?
The specifics of my app don't allow me to specify the HTML in the config because the content that I need to render depends on things that can change between the time the config is written and west region is expanded.
Also note that it's not just update() that can cause that problem. That was just the simplest way for me to narrow it down and demonstrate it.