Here’s a better theory: because American public transit is, when compared with the alternatives, not safe, not clean, and not convenient. Take LA, probably the most car-dependent big city in America. Riding the bus or subway in LA is not an enjoyable experience. Nor is it enjoyable to walk around the areas where the stops are. If I were trying to get more people to use public transit, I’d start by making the stations and buses/subways beautiful, clean, safe places that are just nice urban places to hang out in. There’s no need to make it a moral crusade; just offer a better product and more people will use it.
Public transit is not a social program. Whether the poor can afford public transit on their own is mostly irrelevant. If you want social programs, start separate social programs. Don't ruin other programs with unrelated goals.