And every single application loaded and installed, software library, SDK and license has to be rolled up into the BOM for every headunit sold/installed.
It seems obvious to me that one team of software engineers doing testing and diagnostics on a piece of software is way cheaper than training and then paying entire factories to do testing and diagnostics on each button and knob. (Not to mention we're talking about like, volume controls. Not exactly the most complicated and expensive kind of software to engineer.)
Not to mention if you screw up the software an update is generally cheap and easy. If your button is messed up you have to pay for a mechanic to tear apart the entire dash.
Of course you need to get the touch screen reliable. A touch screen is more complex than a button, but if we call it the cost of 10 buttons, a touch screen replaces more than 10 buttons...
For common functions separate buttons are better for UX. However the touch screen is cheaper.