Something I had in mind the whole time, why should I defend a city that will fall anyways, as you say in the description ? Saying the player 'You will lose, no matter what you will do' is not a good idea, in my opinion.
To be honest, I think you were missing the point of the map then. Gameplay-wise that aspect is meant to be kind of reminiscent of a lot of old arcade games. You can't win at Missile Command or the like either- and in fact you'll probably lose early. And everyone in your cities will die. It's about lasting as long as you can and scoring as many points as you can. And in this case, then trying to do better next round with the perk system.
Story-wise it's a desperate last stand to save as many people as possible. If there was actually a chance at victory, that would be a lot less poignant. The choice of music (like WC3's rather good "Tragic Confrontation" as a somber main theme or the upbeat "Heroic Victory" after you've been wiped out defending the city as long as you could) as well as things like the fleeing peasants that you did mention and even the choice to have it be raining were all meant to play into that.
I think your terrain criticism is a better point; the terrain IS pretty simple. Though I do think it's worth pointing out that a lot of medieval cities really did have buildings crowded and packed in haphazardly with almost no space (and consequently fire was indeed a very dangerous and often devastating thing).
To emphasise that the waves are spawn there you could either grant visibility throughout the map ( I mean the little outside of the city can be easily seen from the walls, if transferred to real terrains) or you could add custom siege structures or summoning or whatsoever to emphasize that the waves are spawned there, if you want to indicate that they are spawn there.
Getting vision of the whole map is actually a valuable Perk you can buy since that lets you prepare for what's coming and react more easily. Particularly helpful for knowing how many troops to leave behind when dealing with an infiltration wave.
But there
are way gates out there which the enemy are spawning through and those
are guarded by defensive siege machines.
Also, you could add custom items and equipment to the stores, especially items that improve the hero stats
Especially in survival and defence games you need a unit that can withstand some damage, in melee maps like the knight or the abomination.
I originally tried it that way, but the result is far less interesting. No powerful melee units are available to encourage more interesting tactics. The enemy will come at you with elite units like Knights or Tauren and eventually with Doom Guards and Frost Wyrms and Elder Voidwalkers if you can last long enough, and you can't counter with any of your own. So you have to get creative. Spellcasters are a good method if you use them well. That's kind of the idea, to encourage the smart use of spells and abilities rather than reliance on brute force.
Similarly, letting heroes power up massively would make it far too easy to rely on them more than on micro and tactics with the rest of your army. Items that boost hero power are available - and in quantity eventually- but mainly as drops from the boss waves. Like in melee, your hero is meant to be powerful mainly because of their spells, rather than because their stats and items make them immediately a one-man army.
Another thing, it is nice that players can build tower, but.. they cannot.
Yes they can. As one of the tips (and other places in game) points out, you can destroy the city's scout towers and replace them with your own functional ones. Towers can only be built on those specific spots as a deliberate design choice to prevent overreliance on them.
The default city towers play a handy role anyway, which is to soak up some damage and give you time to react. When you get hit by an air wave, you'll be glad there are towers up there on the wall they'll go through before striking your barracks directly. And even ground waves can be stalled for a little bit at the towers in the gate area to give you time to run back from errands in the city.
Anyway, all in all I think you have a legitimate point that the terrain could be better (though I think it serves its purpose), but some of your other criticism is just factually wrong and some of it seems to miss the point.