Иван начал жить в Москве шестого января 2017. Сегодня четвертое апреля 2022. Следовательно
а) Иван живет в Москве пятый год.
б) Иван живет в Москве шестой год.
Which phrase is correct?
б
is the the correct one.
Or, to express a duration in whole years:
Иван прожил в Москве 5 лет.
To answer the spirit of the question, the ordinal numbers in such a construct should be interpreted like this:
It is the sixth year [in progress] now [since the stated event], i.e. 5 full years + part of the current year.
Another typical example:
Маше уже восьмой год пошёл.
Masha is in her 8th year, i.e. she is seven-and-a-bit years old.