a miner is just another node.
their mempool depends on who they're connected to, like every node.
If you want to meaningfully filter transactions and prevent a miner from seeing them, you need to have 95+% of nodes running *the same* filter.
Good luck getting 95% of everyone running a node to agree on what spam is and then implement the filter.