It really helps to hear the perspective of core developers, so can know what they were thinking that I might have overlooked or error in my thought process and elucidation.
There are ways to harden against these attacks-- e.g. require expensive POW on connect by the initiating party; but they have their own costs. (and are only somewhat helpful here, since botnets also tend to have a lot of cpu power)
Yeah I thought of that too. As I think you have also implicitly alluded to above, one of the issues is that it can be an asymmetric attack if the adversary is calculating his hashes at a centralized location in Washington State or China where the electricity only costs 2 - 4 cents per kilowatt hour (which I think can be rented and I remember in the past how you mentioned the further economic asymmetry of renting versus the perpetual network hashrate which has varied amortizations) and is using the latest ASIC (and distributing the hashes over the wire to his bots).
If we are trying to maintain decentralization, then the verifier will assumed to have less than optimal access to those two resource costs.
Also userland payers (and payees if they need to hit up a full node, especially to lookup their Stealth address transactions) have an even higher asymmetry on PoW computation costs.
So by raising the cost sufficiently high enough on the adversary, maybe in some hypothetical scenario the entire network could be DoS'ed. In effect, this could resemble in some aspects a 51% attack. Note, please do not assume I am conflating proof-of-work for the block chain solutions with the PoW for submitting transactions, rather just recognizing some conceptual overlaps between the two.
Sending an invalid signature immediately get you kicked, Even with a botnet (or over tor) this significantly rate limits the behavior, even without the POW.
But the banning is by IP. IP addresses are another finite resource (at least in IPv4 and the way ISPs employ it). If innocent users' IP addresses get banned because of this, they begin to see Bitcoin as unreliable or intermittent. Again hypothetical at some future scale wherein most users are sending micro-transactions every hour or minutes. And as that is scaling for the worst, if the Bitcoin network is also scaling in the wrong direction towards more centralized, then I am musing it becomes more vulnerable to such an attack.
We don't consider this kind of attack a tier 1 denial of service because this, also because virtually any host that could be attacked this way could be attacked via a bandwidth exhaustion attack.
I also contemplated this point when I wrote the OP.
But the two you compared are not symmetric threats relative to each other, because a relatively small quantity of bandwidth could ban a large quantity of IP addresses in Bitcoin's current anti-DDoS scheme.
Also to deal with bandwidth attacks effectively, one needs to move the filtering out to numerous points on the network. So if the filtering is resource intensive where electricity cost and ASIC amortization are significant potential asymmetry factors (which as you know is the case also for ECDSA, not just PoW employing SHA), then there is potentially less flexibility.
If the adversary can't get past your bandwidth filtering at the perimeter, then he switches to invalid signatures (or otherwise) where you must ban by IP address so it is not correct to assume that an adversary that can cause problems with banning by IP will also be able to cause problems with a bandwidth attack.
This is another reason I am trying to invert the asymmetric cost of filtering by forcing the adversary to burn UXTO (and as I said in the OP this demands a minimum transaction amount).
I had already thought through this deeply I think (even though I have 0 experience in networking and this is all just musings in my head).
There is a widely deployed countermeasure, in any case: Do not accept inbound connections on high value nodes. Instead, run a couple public nodes, in place you don't care about, addnode those. For this particular attack you can also continue connecting out to random nodes (though there are other attacks which make it preferable to not do that and to only connect out to trusted and semitrusted nodes).
I had read that mentioned some where before I wrote the OP.
But for the myriad of reasons above (e.g. losing the ideal of not relying on trust, centralized systems are easier to attack, and including my response to johoe including the issue of users finding a non-banned public node), I don't think that entirely solves the problem at-scale.