Income taxes fail on the basics.
Income tax has nothing to do with raising money. It’s about releasing real resources for the public good - largely people to provide public services. Ideally the tax needs to be incident on the private sector entities that would otherwise hire the people the public sector needs to hire instead - military, judiciary, police, healthcare, education, etc.
Government has no need of private income, therefore it makes no sense to tax it. Expecting the incidence to end up in the correct place requires a faith in fungibility that just isn’t borne out in practice.
When the government uses income taxes to fund public infrastructure like a subway, it improves the land that is incident to that subway which raises the value of that land. The government created a lot of private value that could be taxed to pay for the infrastructure it built. As it stands right now, the government just takes your income with no incentive to actually deliver as it does not benefit directly from its own investments. This allows corruption to creep in as politicians would rather fund massive boondoggles that line up their pockets rather than small incremental improvements that increase government revenue in proportion to how much value it provides.
This scene gets the point across very clearly: https://www.youtube.com/watch?v=XL3n59wC8kk&t=1803s
The government invests in the commons. Access to the commons (proximity to infrastructure) is owned by private individuals who benefit from the investment. The government does not benefit from the investment it made. It's effectively running a charity for a handful of people.