Given the translation "My grandfather is behind him" you are right. It should be "khalfahu". However, the letter "ه" not always being pronounced correctly at the end of a word (especially when it represents a possessive pronoun) seems to be a common problem of Text-To-Speech-Software (it sounds like there is no "real" audio file attached to the word).
Is it "khalfa" or "khalfuhu" or "khalfahu" or what? There seem to be so many mistakes in the audio with possessive words. Sometimes I find two different pronunciations on the same page, depending on where I click. It's super frustrating - I just don't know what to learn.
Can anyone help please?