...
Feerate filters will generally drop spam transactions and prevent those with too low of fees from getting relayed. The block size limit is actually fairly effective at preventing most of the spam from getting mined. What you're missing is that the resources costs to nodes for spam transactions that get mined are far higher than those that do not. Raising the block size actually has the effect of making spam attacks worse since more spam would be mined and take up resources/create more UTXO's.
Actually the spammer simply increases her fees. One must keep in mind that the spammer relies the fact that only a very small portion of the spam transactions will actually get mined
regardless of the fees because of the fixed blocksize. A dynamic blocksize with a proper fee structure can be a very effective deterrent against this type of spam attack because by threatening to mine the spam it imposes a very significant risk to the spammer.