Yeah, I have noticed in my games that battles against stronger mobs tend to give very disappointing amounts of experience. If the game is really reducing experience gain based on the strength of the army, all I can say is that that is a totally stupid idea.
Right now, the feedback loop on experience is completely broken. There's just too many things that muddy the water. First, there's no way to know, going into a battle or quest how much experience you stand to gain if you win. For a battle, any estimate the player might make is pretty much guaranteed to be wildly different the actual experience earned. It's even worse for quests, because you get zero feedback about experience (unless your hero manages to level).
Mechanics like splitting experience between heroes, calculating the experience earned dynamically based on the strength of your army, or not displaying experience gained due to quests only serve to muddy the experience loop to the point of irrelevance.
From my perspective stardock can go two diametrically opposite directions.
A: Continue to obfuscate everything that has to do with experience. In which case, get rid of the after-battle report. The information there is pretty much useless. If you don't want the player to strategize and min-max experience, then don't show it to us. Heroes will continue to level semi-randomly, meaningless battles will continue to generate outsize gains while epic battles with mass casualties result in tiny benefits. The RPG element of the game will suffer, of course, but c'est la vie.
B: Make experience explicit. Make monsters give a fixed amount of experience and show us the experience gain on the pre-battle report and on the quest's opening page. Any calculation that goes into experience should be explicit and consistent throughout the game. Don't use secret sliding scales based on army strength; in fact, don't do anything tricky behind the scenes. If the monster gives heroes 10xp, and your hero is in the army that killed it, your hero gets 10xp.
If it's too much trouble to go back and fix everything so that experience makes sense, then I would go with option A. Otherwise, fixing experience so that it makes logical sense would be a great improvement to an already great game.