Part of the picture as written out by Ewawe can be seen when comparing the words you have to their counterparts in Low German, the native dialects of northern Germany. These are more closely related to modern Dutch and English than standard (and High) German, as they did not participate in the High German Consonant Shift. However, there are also a number of vowel shifts (not emphasised as frequently when studying German) which applied to High German but not Low German – and it is also educating to see what High German dialects have made of these sounds.
The words I have looked up on the Low German Wikipedia (not being a speaker of Low German in any way myself) are:
The form witt has entered standard German as part of the name of Snow White (Schneewittchen); the original Low German form was Sneewittchen while the first published version by the Grimm brothers was titled Schneeweißchen.
It’s notable that these words all preserved the [i] sound in Low German with the spelling of two of them implying a long [iː] sound as was reconstructed for Proto-Germanic. Without having confirmed this hypothesis by searching for further examples, it seems reasonable to assume that this pattern is found across a number of other words, too. Thus, the original [iː] changed into [aɪ] in English as part of the Great Vowel Shift. Independently (and possibly earlier as spellings similar to the modern ones are already found in Luther’s Bible translation), the Middle and High German dialects underwent a similar sound change to give the modern German forms. In Low German, the vowels did not change but remained as they were before.
The High German dialects, especially Bavarian, underwent some further changes. There are at least three sounds that at some point were [aɪ] in Bavarian:
- In some places where modern German has [aɪ], Bavarian (usually) has an [ɔa] diphthong
(e.g: German: eins, Bavarian: oans)
- In some places, both modern German and Bavarian have [aɪ]
(e.g: German: drei, Bavarian: drei)
- In some places, Bavarian has [aɪ] where modern German something else such as [ɔɪ]
(e.g: German: neu, Bavarian: nei)
The first forms represent sounds that used to be [aɪ] in German but which changed in Bavarian. The second represents sounds that changed from something else (typically [iː]) into [aɪ] in German; these were not affected by the first group’s change. And the third are Bavarian sound change innovations.
Looking at the words mentioned in the question and repeated in this answer, these all retain their [aɪ] sound in Bavarian indicating them belonging to the second group.
The question remains why the vowel white seems to have been shortened in Low German (the spelling suggests that) but that is one I cannot answer.