I feel like you skipped the most compelling reason. I posted it in this thread already, but it's the abhorrent behavior that these companies routinely engage in and the harm they cause, enabled by well-meaning engineers who just want to solve problems and do interesting work.
Yeah, the issue with that is that for most megacorps only one or two of those criticisms are valid. I've definitely refused to work at companies (like Facebook) on the grounds that I think they are doing much more harm than good in the world. But there are also megacorps which I consider to be doing less harm per capita than other technology businesses which I would work for.
Part of the issue is that media companies have darlings and enemies that they don't really cover proportionately to their offenses, IMO (for example if Google even considers doing any business in China - uproar. But Bing actively sells out Chinese users to the Chinese government and nobody cars, because right now Microsoft is a media darling). And the media doesn't write about smaller companies doing bad things usually, unless they are particularly bad, because they fail the "who cares" test.
There is also an inherent chaos that comes with companies with hundreds of thousands of employees - bad people will get through hiring and do bad things, people will make very high impact mistakes, things become uncoordinated. So for me personally I try to think of companies in terms of badness-per-capita and whether the rot is coming from the top (Facebook) or is seemingly "random".
- These companies aren't monolithic. If you object to say Google's monopoly on advertising, you can take a job on a team that has nothing to do with it, like image compression.
- If you disagree with the company's practices, you might have more impact by changing the company from within than trying to compete with it.