If they reject candidates who don't/can't consider algorithmic complexity of a particular solution, then they'll likely reject some candidates who would have performed well at a job there. But they won't extend an offer to a candidate who wouldn't perform well. Hiring an underperforming employee has several costs. Obvious costs: time consuming gathering evidence to let them go, management doesn't like delivering bad news. More subtle reason: opportunity cost of team morale for a high-performing team. IMO it is exhausting being on a team where everyone frequently chooses the least challenging design options, frequently ignores process/follow-through, frequently ignores opportunities to innovate and improve.
Does the interview process in place actually help achieve this goal? I'm not sure, but I'd wager that it might actually come closer than any other interview process.
All that said, being on the receiving end of these rejections is a real disappointment. But from everything I've read, you may have to buckle down and commit lots of preparation time in order to get an offer. I haven't done that, and I suppose I should expect to get rejections until I do.
[1] https://en.wikipedia.org/wiki/Sensitivity_and_specificity