Запятая поставлена верно.
Действительно, в "Справочнике издателя и автора" А. Э. Мильчина, Л. К. Чельцовой дана рекомендация употреблять сокращение г. (и полное слово город) ограниченно, преимущественно перед названиями городов, совпадающими с фамилиями людей, например г. Пушкин, г. Королев.
Однако на практике (в канцелярской речи) сокращение г. и полное слово город употребляются перед названиями всех городов, в т. ч. с формантами -бург, -град и -город, напр.: г. Волгоград, г. Санкт-Петербург, город Шлиссельбург, город Калининград.
Раздельное написание корректно.
Да, это тавтология, однако не всякая тавтология является ошибкой. Она неизбежна в ряде случаев, к которым относится и использование терминов: словарь иностранных слов, бригадир третьей бригады и т. п.
Запятая после у него нужна.
Запятую ставить не надо.
Дополнительные знаки препинания в Вашем предложении не нужны.