Ethics? You are asking people to study and spend hours working on LeetCode problems for something close to completely useless. On the ethical scale, people that accept to spend hours of their limited life doing so are probably not the ones I would think of as "looking to work on something great"
Most of the jobs at these companies are boring grunt work and definitely not working on something great. So they're selecting the right people for that. You do get paid significantly more than other companies so there's a very real incentive for playing the game.
Yeah writing an OS, a machine learning framework, designing deduplication for a photos app with a billion users , working on on board sensors for a self driving car. Such "grunt work". I'd love to know what exciting and hot thing you're working on ? Is CRUD the new sexy ?