The problem with unit caps is that, even if you restrict it to +1 per T5 building, you can still make armies full of elite unit, which is just cheese.
The only solution here is to make that each elite unit can be recruited only a set number of times in a single campaign.
For example, you should not be able to get more that 5 dragons in a campaign, or 3 demigryph knights. Having more will just break the game and be unfair to the AI.
Also, this should apply to heroes and lords since they are broken as hell and can get insane once you level them up.