Ashkenazi Hebrew is technically a descendant of so-called "Palestinian Hebrew", like the Sephardi dialects. This pronunciation tradition had five vowels: /a/ /i/ /u/ /e/ /o/.
In the 12th century, the long [aː] and [a] in an open syllable became [o] or [u] some dialects of German. Likewise, the sound [eː] or [e] in an open syllable became diphthongized into [ei] or [ai].
These features entered Yiddish. This in turn affected Hebrew. The qamas, which usually represents a historically long /a/ generally meets the requirements for the sound shift and became associated with [o]. Likewise, sere became associated with [ai] or [ei]. Between the 14th and 15th centuries, qamas and patah, and sere and segol became distinct.
Because the vowel sounds in Yiddish are from the historical sound shift --- and not from the Tiberian vowels --- we get pronunciations like פֶּסַח peisach and קַדַּחַת kadoches. It also explains the vowel differences in pairs like: דָּם דָמִים dam domim, כְּלָל כְּלָלִים klal klolim.
See: Ilan Eldar. 1978. The Hebrew language tradition in Medieval Ashkenaz (ca. 950–1350 C.E.), Vols 1 and 2.