The following HTML, Javascript and JSON render correctly, but the filter does not work at all. What are we doing wrong?
You can use the toArrayFilter that converts the object to an array so it can be used by regular filters.
In your case it would be as:
{{ catalog.$key }} - {{ catalog.someProp }}