現在完了ではなく過去完了だと思います。
彼が人の悪口を言っているのを聞いたことはそれまで1度もなかった。
→○I [had never heard] him speak ill of others until then. [過去完了]
→✕I [have never heard] him speak ill of others until then. [現在完了]
※then(その時):過去
彼が人の悪口を言っているのを聞いたことはこれまで1度もない。
→○I [have never heard] him speak ill of others. [現在完了]
→✕I [had never heard] him speak ill of others. [過去完了]
参考にしてください。
You're welcome!😊
ありがとうございます!!!