*Spoilers*
Dragons are weak to only one thing. Poison.
All dragons have physical, magic and fire resistance, if not immunity.
Now I myself, I evaded the first couple of dragon armies and just went on, but they've never given me trouble.. In fact I prefer them, as I have no problems with dragons and the rest of the army is simply weaker in comparison.
Units that would work well vs dragons (Except the obvious knights): Swordsmen, Guardsmen(They are above average melee units, especially the guardsmen - compared to most other units in the game), Any archers with 'Dragon Arrows' spell applied. Most snakes would work pretty well, though their weaker than guardsmen in comparison, they can deal poisonous damage. But what really works best, are dragons itself - With your hero stats and items they won't take much damage and still deal considerable damage theirselfes.
Also don't forget there are items which can increase your own, or decrease enemy initiative, as well as the knight skill that increases 1st turn initiative(Which you cannot get yet, I know). You priority would be getting a stack with high initiative.. such as cannoneers and an item that increases initiative. Finding an item just for dwarven initiative shouldn't be too hard really - though the randomness doesn't say the same =).
With order magic, you can summon a phoenix. Enemies often target the phoenix first.
Again, Dragon Arrows is a true blessing. This has allowed my archers to do more damage than any of my other stacks. Phantom is a pretty nice spell, even though your actual army strength doesnt increase that much, the phantom's make excellent tanks allowing you to preserve your own troops. If you have ressurection that's nice, but it wouldn't save you from heavy losses, just minor ones.
For the harder battles, run around first to find a weak enemy, kill to get Rage in order to have full rage for the harder battle. (One full enemy army gives one full rage meter - no matter the enemy armies strength. If the army has only 1 unit, killing this 1 unit gives full rage.)
Also, Free the castle from demons? Is that what you need to do in order to get the dwarven king to sign a treaty? If so, just go to the castle and check it out. I also thought they would be way out of my league. I was level 13 and kicked their 'Slightly weaker' asses.
It's the next main quest that's gonna be a problem my friend =) I'm level 22 and still too weak for it. You will soon be able to get better archers if you finish your current main quest - The elven lands will be open to you, with this the lands of death also open to you(The first place I was able to get my own dragons!), and you can already get to demonis as well trough the dwarven underground sea. All these places will allow you to greatly customize your army and come back to beat those dragons down
Edit: Don't forget to loot the lands of death! Evade the enemy(Way too strong) but get the flags and stuff. One chest can give 50k+ gold, a flag 100+ leadership, take it all and you'll be that much stronger.