го́род-запове́дник, го́рода-запове́дника
го́род-па́мятник, го́рода-па́мятника
го́род-по́рт, го́рода-по́рта
го́род-респу́блика, го́рода-респу́блики, м.
го́род-геро́й, го́рода-геро́я
Ответы справочной службы
Вы правы.
Географические названия в кавычки не заключаются: город-спутник Южный.
Сочетания корректны с точки зрения норм русской грамматики, но различаются стилистически. Первый вариант — общеупотребительный, широко распространенный. Второй вариант используется в официально-деловой речи (в документах форма именительного падежа наименований отвечает требованиям точности).
Теоретически может быть и то, и другое. Выбор знака за автором. Но, судя по интонации, авторскому замыслу соответствует дефис. Слово город выступает как определяемое, а сказка и мечта как приложения.
Звание города-героя было присвоено этому городу в 1965 году. В то время он уже назывался Волгоградом. Поэтому: город-герой Волгоград.