Думаю, вы неправы, Наверняка тут имеется какое-то устаревшее малоизвестное правило древнерусского языка, которое все это обьясняет.Например, что существительные, оканчивающиеся на "ль" и образованы от глагола как рода деятельности - мужского рода: "коваль", "жигаль", Переславль" (от славить) и "Суздаль" (от "суздать" - создавать). Топонимы же "Пермь" и "Тверь" не являются славянскими и являются, скорее всего, наследием коренного дославянского населения на этих землях. Соответственно, их женский род может быть обусловлен грамматикой другого языка.