I checked your syntax directly using Enterprise Manager (snoop with filter) and it looks OK. I did test it without line breaks in the filter clause.
I suggest you try that: go to EM, open the snoop tab for the topic, paste the filter and then click Start. Then publish messages from IS and see whether they show up in the snoop or not.
I checked with UM 10.2, so if you see something with 9.8, then please open a support ticket.
Regarding messages showing up in the shared durable - that was the default behavior in 9.8. Please check the realm property Global Values > SharedDurableFilterBound. It should be set to TRUE, which ensures that filters are applied at publish-time and messages not matching won’t reach the shared durable.
In any case, make sure you have the latest IS and UM 9.8 fixes installed.
Hope this helps.