This "raise only your main attribute" thing is a problem with at least AD&D, though. This is what Sawyer tried to remedy but wasn't particularly successful at.
But that is because Sawyer is a hack and tried to make all attributes usefull for all classes. He went one step too far, he realised that it is a bit boring that rogues have to raise dex whenever they can and fighters always str, but his solution was to make int as good for them as dex and str.
Martial attributes should still be better than mental attributes for martial classes, and there should still be a mainstat which gives each class the greatest benefit. It should just not be mandatory through bounded accuracy to have that main stat as high as possible all the time.
2E/3E was actually better at this than 5e, due to the large influx of items that set your stats to a fixed value and great sources for to hit modifiers beyond the attibute even characters with shite attributes could perform well in a role they weren't made for. The squished bonusses you got in 2E also helped. Khalid is completely useable as a fighter despite having only 15 str, while he would be shit in 5e.