this is the actual bug fix. figuring out how to reproduce it in the test case was the hard part, because observeAttributeProperty+observe-js polyfills means it doesn't happen in practice for a typical case :)