EXP gained from enemies is dependent on the amount of damage you dealt to them. If you deal half of the damage they take (with the other half being dealt by NPCs or charmed monsters), you'd get half the EXP the enemy would give if you dealt all damage. If a monster is charmed at 100% HP, and is killed entirely by the enemies you're fighting, you'll get no EXP because you didn't actually deal any damage.

This is one reason charm isn't usually considered a very useful skill, as it reduces your EXP gain.