You're not wrong, but this is the part where capitalism is supposed to encourage people to use methods that cost less in externalities. Businesses should pay for their externalities or else they aren't competing with each other fairly.
The question of who it is a subsidy to is important, but it is better to directly give them a subsidy than to skew the upstream market towards vehicles that damage roads and cost a ton of money to repair.
I doubt we'll get there though, I admit that we can't get anything effective done. And we'd need to effectively keep prices from rising at the register to even the playing field for infrastructure expenses.