Если пишется "ёж" и "ёлка", то почему "Йорк", а не "Ёрк"? И наоборот.
Because Russian transliterations are not consistent.
The letter ё didn't make it into Russian before late XVIII century. Church Slavonic language didn't use the sound cluster this letter denotes.
When it came to use, the letter ё had replaced the etymological е in native Russian words.
English names in yo, ye etc. (and names borrowed through English, especially Japanese ones) were traditionally written using iо, iе in Russian: Iоркъ, Нью-Iоркъ, Iорикъ; Iокогама, Iеддо, iенъ etc, although йо was used occasionally as well.
After the orthography reform of 1918, the English names changed the first letter to й (Йорк, Йорик) while the traditional Japanese ones retained the now uniform и: иена, Иокогама.
The most widely accepted Japanese to Russian transliteration system calls for using ё to denote the respective Japanese sound.
However, the spelling of the words already rooted in Russian is grandfathered.