Disagree on the blanket take, but you're right about the execution trap. We went the opposite direction: kept e2e sparse (~15 critical flows) but made them bulletproof with proper waits and isolation. The 500-test suite was definitely the problem, not e2e itself.
Where integration tests failed us: distributed system state. When Kafka producers lag or a service is partially degraded, your jsdom tests lie to you. We caught a nasty ordering bug in checkout that would've shipped. Unit/integration alone won't surface that.
The real answer is ruthless prioritization, not elimination.