Your question can be easily answered looking at the game itself, and the answer I found surprised myself a lot.
First of all, from game code, with massive edits for clarity (I hope I'm not committing copyright infringement posting this):
willSummon = pow(usedGem.grade,1.2) * 4 + 4 // * 1.5/0.2 if swarm/giant
HpIncr = (usedGem.grade * 0.03 + 0.1) * monsterWave.hp * (1 - FURYRED)
armorIncr = max(2, 0.24 * monsterWave.armorLevel * (1 - FURYRED))
XpIncr = 0.02 * (1 + FURYINCR) * monsterWave.xpBase * pow(usedGem.grade + 1,0.89)
AG forum formatting is especially ****ty with pseudocode, I'll probably make a better written version in the gemforce repo.
From the above we gather:
1) Only grade matters, so always enrage with u-upgraded gems (no special combines)
2) Armor increment does not depend on the used gem
3) The interesting quantity to look at is, as LucaDiv already said, is F=XpIncr/HpIncr and we have, letting g be the gem grade:
F(g)=C(W)*(g+1)^0.89/(0.3*g+1)
where C(W) is a coefficient beyond your control that depends on the characteristics of the wave and on your fury skill
This function is plotted below:

As you can see this function has a maximum and then slowly decreases, which means that (if I'm not mistaken) there is an optimal gem grade for XP!
Some math tells us that this maximum is at g=590/33 -> g=18
So it seems that using gems of grade 18 would yield the best result.
This needs testing (that I can't do right now), because I may have missed some other piece of code that changed those values, maybe try to dump the same amount of mana in two different ways on the same wave.
Of course at the current version (1.0.19) it's not practical to keep enraging with g18 the whole match, but maybe in future versions we'll have better enraging tools to use.
TL;DR: Try to enrage waves using only grade 18 and see if it's better than your usual way, than return here and post your findings, to help the community
12345ieee