Okay, all y'alls convinced me to update my proposal.
Curb weight^4 x miles x rate = tax strikes me as a reasonable way to pay for roads . If we want a sin tax on carbon on top of that to pay for climate change mitigation, okay.
Currently for gas and diesel, the tax is pre-paid before one drives those miles. Finding a method for pre-paying the road tax is probably a good idea as opposed to billing vehicle owners once a year. Not sure how to do this without an invasive system.
Only missing thing is - you need to also address the issue of rationing road-space, i.e. congestion charging.
They're not getting screwed at all. They still drive on the roadways. Are the vehicles lighter? Sure, but the roadways still cost in the millions of $$$ per mile to build. Regardless of vehicle weight, higher MPG vehicles, or EV, that cost has to be paid by the drivers.
Several states have been talking about replacing gas taxes with an annual "pay per mile" fee that gets paid with registration. I see lots of ways for that to be fucked...
If you replace gas taxes with "pay per mile", you (a) need to have a means of recording how many miles people drive, which seems to imply quite a serious level of surveillance, and (b) it loses the incentive of gas taxes for increasing fuel efficiency.
Carbon emissions, and pollution in general, is going to be a function of fuel consumption more than miles driven.
The cost of building roads in the first place is, I suspect, relatively-small compared to the cost of maintaining them and policing them, and you could argue that that cost should come from general taxation as the existence of a road network is pretty important for the economy as a whole.