Well, Scribe, you are on the right track and I in fact was doing such a process, only basing the words strictly off of one word which is related to the initial idea is a bit... well, unreliable. In other words, it's not going to work all the time.
Sometimes, taking a couple of words or thinking of a sound from a word and changing it slightly allows for a new word to be created. Also, thinking of words to do with the mood is also a good method to take on board.
Well, down to business. A castle city you say? Well, castles in general are quite well-fortified, and are therefore sturdy. Well, in this case, you could probably use Sturngrad City.
Next is the crater town. As you have left the interpretation for the mood of such a town relatively open, I'm going to try and narrow it down to what I assume you mean. Well, a crater, sort of open, but the buildings would be kind of clustered... So, with buildings grouped together in sort of colonies with a wide open area where there aren't any buildings, I could think of Hundrel City as an option.
And finally, the classic Volcano city. Magmas... lol, somewhat close to the word. However, your thought process is right, just somewhat restricted. Open the mind, see where it takes you. If I didn't do that, I could just say Volcanic Emission City

. Don't take this as an insult, I like your thought process, but consider other words or how one could change them to a name. Well, when I hear volcanoes, I think of hot, lava, uninhabited. Hm... doesn't leave you with much to go on, does it? Well, volcanoes are made of rock, so they are tall, proud and mighty. With that in mind, you could call it Laverant City.
Just in case you're wondering about the words I used for these names, here they are. Sturngrad is simply based off of sturdy, but sturdy on its own or even in the word is quite unpresentable, so I upped it a little bit. Hundrel is based off of huddle, the rest of the story a repeat of the previous one. And finally, Laverant is based off of lava and arrogant. I originally had Lavarant, which is fine except for the fact that when you say it you can't help but think of some kind of Lava Ant, which would be sort of... crappy.
Hope you like 'em, folks!