Thanks for replying to this, it's good to see you recognize this as an issue.
Some thoughts based off this:
It's clear that these captchas are 95% broken, the fact that these ones are so unreadable suggests the more readable ones were solved, so apparently this implementation can't last in any case.
For what it's worth I would have no problem filling out captchas if they're readable, and other places on the internet do still have readable captchas.
Another reading here is that Cloudflare has sold a product to its customers (hacking protection) that other cloud providers have not attempted to sell. I'm going to be harsh and call that negative externalities for Tor users.
And I'm not sure that product even works as advertised - a scan of the internet can reveal the backend server, which could still be hacked (probably even more so, if the customer is now relying on Cloudflare to protect it).
It seems we're talking about automated attacks only? Else the attacker could just fill out the captcha manually first.
If a targeted attack can be detected (attacker has completed the captcha), just rely on that code instead? If not, have we gained much?
Clearly a lot of customers will have blindly cranked their s3cur1ty bar to 11. Perhaps make it harder for a customer to do that, given the adverse impact it currently causes? Most people probably think DoS when they head to Cloudflare, not free captchas.
Note that I do mean "common case", because its weakens the anonymity set when normal people are hassled out of Tor. So just making "GET /boring-article.html$" work would be a great improvement. If that then lead to a work-flow of "POST /comment" -> 403, user notices, hits refresh and fills out a magically-appeared captcha, then so be it.. Tor users would learn this flow quick enough, and prefer it.
I could totally ask and suggest ideas about this all day for free, but I won't be applying to Cloudflare for the time being fwiw :P Still, I'm grateful you're working on the issue.