The bonus is applied when a majority of the army is composed of the unit type, not 100%. Otherwise the infantry bonus would be useless in vanilla, as all bodyguard units are cavalry.
As for ethnicities, these are no guarantee for any trait. However, they have an increased chance to have the traits prevalent in them.
Bookmarks