I'm not a scholar of Old English, but I think you're wrong to assume that much changed semantically. The OED gives an example from an Anglo-Saxon calendar from the year 1000 of "but" being used as a preposition meaning "except for one thing."
Swylce ymb fyrst wucan butan anre niht
þætte yldum bringð sigelbeorhte dagas sumor to tune,
So around the first week, less one night,
sun-bright days bring to men summer to town
"The first week excepting for one night" means the first week [in May] excepting for time until one nightfall, or in other words, the first six days. The OED notes that in Old English, the inflections for case will tell whether the expression is to be understood as "Six days except one did bring" or "One day did not bring and six did." The different parsings were no longer available in similar sentences once English lost the inflections, but it's clear that the reference is to "only" one day out of the first week.
{verb} but {something}
] has come to be "the only possible something". It's as though the negative particle has been subsumed into the "but".