It's very difficult to siege a dwarven town. I was given an additional squad of warriors, improved dwarves of the first level, with a strength of 522. The opponent was of a high level with a strong army, about 40 paladins, 6 archangels. And the main hero was far away. I thought everything was over for the town, so I hired a hero in the tavern and recruited everything I could. And I won without any problems.
P.S. Did you play against the computer?