All the words with the -ough combination are pronounced the same – or rather, they were when they entered the language. “ou” was pronounced something like “oo”; the “gh” was an attempt to replicated the phoneme – a guttural like the German “ach” or the Hebrew “Chanukah.”
So the spelling is correct; people just stopped using the “gh” sound and started finding new pronunciations.
You can also point to “marry,” “merry,” and “Mary,” which in some dialects are pronounced the same. In others, two of the three are the same. And in others (including my own), they’re three different words.
So, if the words were spelled the way they were pronounced, some would write “Marry is marry.”
My favorite two examples. I was talking to a South African bishop and telling him about the time my I waited somewhere, starting at 1:58 and ending four minutes later. I added that my wife waited for the same length of time: “She waited from two to two to two two, too, Tutu!”
And then there’s a lovely sentence that Stephen Pinker introduced me to: Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.
Which is to say, the buffalo living in Buffalo NY that are bullied by other buffalo living in Buffalo turn around and bully still more buffalo living in Buffalo.
Well, “to” does get the vowel reduced quite often, at least in my accent. The “to” in “two to two” has a schwa in my dialect. (In a stressed position, though, it’s homophonous with the other two.)
One of the GPS apps on my phone used to pronounce “two” and “four” like they were “to” and “for” in unstressed position. “Take 170 south for tuh miles.” “Continue on Page Avenue for fer miles”.
There was a young poet from Slough
Whose limericks earned him no dough
He said "But I see
That the letters agree
And if that’s not enough then I’m through.