fix(filterFilter): let expression object `{$: '...'}` also match primitive items

Closes #10428
Not sure what algorithm you are referring to :)
Not sure what should be changed either.

Originally, I had it implemeted so that only own properties are considered.
Then you requested that inherited properties are considered.
So, what should we do now ?

1. Ignore inherited properties in general.
2. Ignore inherited properties in case of top-level `{$: 'xyz'}` expression.
3. Only care if `$` is a property of expression (regardless if it also has other own properties). (**Note:** this introduces a breaking change)