This misses an important distinction. The permissionless nature of Bitcoin is already and indeed MUST be within a boundary of permissible transactions, as enforced by the nodes. Just because miners can't award themselves more than 3.125 Bitcoin when they find a block doesn't mean Bitcoin is not permissionless when a miner who tried to award himself 6.25 Bitcoin has his block rejected.
Permissionlessness is not lost by having code-enforced rules. It is lost by having rules which apply to some users and not to others due to a central authority who can arbitrarily decide who the rule applies to and when.
There is no attack on the permissionless nature of Bitcoin by those who don't want to relay the jpegs people want to save to the blockchain. All transactions are subject to the same standard by nodes running Knots. No picking and choosing who the standard applies to.
It should also be noted that there is a difference between who a rule applies to and who it affects. The rule that miners can only award themselves 3.125 Bitcoin when they find a block applies to everyone, no exceptions. However, it only adversely affects those who try to award themselves more and subsequently have their block rejected.
Permissionlessness requires only that the rules enforced by nodes equally apply to all users, not that all users are equally affected by the rule. Mempools that filter out large OP_RETURNs apply that rule to all transactions sent to them, without discrimination. Permissionlessness is unaffected.