Yes, there is a difference between Ashkenazi and Sephardi vowel pronunciation, but there's also another layer of difficulty when it comes to transcribing Hebrew words in English - namely that the letter 'o' is not pronounced the same for all English speakers.
Most Hebrew textbooks are aimed at speakers of American English, for whom the closest approximation of the קמץ is indeed an 'o' sound, such as the way that 'Mom' would be pronounced in American English. But this transcription doesn't work for speakers of British English, for whom the pronunciation of the letter 'o' is much shorter and more closed, and nothing like the sound of the קמץ . For British English speakers, 'a' or even 'ah' would be a closer transcription. That's why generations of British supermarket shoppers are confused about why a product spelt 'matzo' is pronounced 'matsah' ( not 'matzoh'). I guess the real sound is neither an 'o' nor an 'a', but somewhere in between.
I don't know if that will help you, but I hope it goes some way to explaining the confusion.