Just loading the module (hs.window.filter) is enough to stop observer notifications (callbacks no longer invoked). Interestingly, hs.application.watcher works, in my case for watcher.activated and deactivated events.
However, if I wait until after I receive an observer notification, then that observer continues to work after I call hs.window.filter.
This isn't entirely surprising given the overlap in purpose between observer and window.filter. I assume notifications are handled by window.filter and that's why they never make it to observers?
Is this something that should be documented as part of hs.window.filter? Or is this a bug that should be fixed? Or is this only on my machine :)