True, the variation goes as far back as Old Saxon fiartig and fiwartig, respectively. Middle English had both forti and fourti, as does Modern English forty (Standard) and fourty (non-Standard). In short, that variation didn't disappear in Middle English.
Spelling variant with 3 syllables
Old Saxon: fiwartig
Middle English: fowerti / fourti
Modern English: fourty <non-standard>
Spelling variant with 2 syllables
Old Saxon: fiartig
Middle English: forti
Modern English: forty <standard>
Second, adding -tig (-ly) to an adjective was a productive process in Old Saxon, as it is today in Modern English - except for fused forms such as thirty, fifty, and forty. (Speakers don't add -ly to three then drop <ee> and insert <i>, nor add -ly to five then switch <ive> with <if>, nor add -ly to four then drop u.) But for Old Saxon adding -ly was productive. Speakers, added -tig (-ly) to fiwar (four) giving fiwartig (forty). But it's not that cut 'n dried. Old Saxon speakers had two variants, one with <w> fiwartig and one without <w> fiartig. The question is, why did fiwar lose its <w> when it changed to fiartig? Isn't that the same question as why doesn't forty have <u>?
Why did Old Saxon (OS) have two spellings for the same word? According to Dr Sarah's account it just did. More likely, it was a matter of pronunciation, not dialect variation, but stress. Add -tig to fiwar and the vowel in the second syllable weakens. The result, a redistribution of the syllable's weight.
In other words, <w> was ambisyllabic. It could be the coda of the first syllable (fiartig) or the onset of the second syllable (fiwartig). Speakers appear to have had a choice back then, even in Middle English. We don't seem to have that choice today. Someone way back when (and I'd like to know who) told us fourty is non-Standard English. Why? What's odd about fourty? We've spelling variants labour/labor and honour/honor - the list goes on.