>The capitalist system writ large would much prefer that these people made $40,000 a year instead of $20,000
The captialist system finds local maximums, not global ones. This is a classic coordination problem. As a business, your path to profit maximization from poor people is to keep them impoverished (make the poor part with the most money possible).
Of course, if every business adopted models that were less predatory, overall wealth would increase, poor people make 40k a year, more stuff is sold, and everyone profits more, poor and businesses alike.
But as a single business, if you adopt less predatory business practices, you are not maximizing profit, AND you are opening yourself to be out-competed by a business that does.
The regular customer-satisfaction competition does still apply, of course. But the power of the consumer is significantly blunted if the consumer has limited choice, which is what happens to the poor when they have limited options caused by low economic security. Perhaps, the poor have so few options, businesses are allowed to create predatory cycles of poverty.