In modern (and medieval) Greek, Χριστος is pronounced /xristos/. The [h] in ハ is the closest Japanese can come to [x]. Compare バッハ for German /bax/.
It's not ヒ, because that would represent [ç] (I imagine German 'ich' [iç] would be transcribed イッヒ). It's not フ, because that would represent [f] or [ϕ]. It's not キ, because that would represent [c] or [k].
キリスト derives ultimately from the earlier Greek pronunciation /kʰristos/, via Latin /kristʊs/ and its descendents (probably early modern Portuguese /kʁisto/). キ is probably used instead of ク for a mix of two reasons. One, modern transcription conventions weren't yet in use, and an alternative method for putting extra vowels in (which languages like Māori use) is to add the same vowel as the next one. Two, the proximity of the /i/ probably makes the /k/ sound a bit more like [c] anyway.