For arguments like this, it is easier to look backwards than forwards.
So let's take a 20 year old car, and pretend it was future proofed to take more upgrades. Would you want it today?
* The style wouldn't be right at all. So let's pretend that we are globally willing to accept out of style things for the sake of the environment. Which is a big if, but let's go with it.
* The steering wheel may or may not have airbags. The doors and seats would certainly not have side impact airbags. The doors and seats would not be designed to take these advances. You would need to basically replace the doors and seats to upgrade these new safety features. But what if these new safety features made the door 2 inches thicker? Since you aren't replacing the frame, you now lost 2 inches of internal space. Maybe the driver would still fit, maybe it wouldn't.
* Engines were much much less efficient 20 years ago. New engines have all kinds of things that a mechanic can better explain. Things like carburetors are gone, things like computer controller ignition are in. Would the upgradable car have known about all these future changes? Maybe, maybe not.
* Frames have gotten much stronger / more crash proof in the last 20 years. Think of better crumple zones. So if you wanted to upgrade that 20 year old car to be as safe as a modern car, how would you change the crumple zones within the frame itself?
* Metal itself rusts over time. Things can slow it, but there will always be some rust. What do you do if the frame has rusted in ways that can't be fixed?
* Crashes can permanently damage cars. Say your frame is bent in a crash. Insurance companies write this car off as totaled, and declare it no longer safe to drive. Can you always fix this kind of thing? Perhaps sometimes. Would you want to drive a frame that has been welded back together after a crash? I would not.
This is not an exhaustive list but it partially proves a point. In a field where innovation is happening, it is VERY hard to future proof your hardware. If you disagree and are a programmer, show me an active codebase that has never had a refactor. By going down this path, you are basically saying the contents of a given method can be swapped out, but we can never refactor the codebase. So show me a 20 year old C++ project with no refactor ever done, just methods being swapped out like your replaceable car analogy.