Encouraging people to pick the underrepresented faction when they start playing is not going to work. Faction imbalance isn't static. It changes over the history of the game, it might be different in different locations, it might be different in different level brackets (if these are relevant in your game), it might even be different depending on the time of the day. Player Allegiance, however, is often not. If you force players to choose a faction at game start, they will often stay loyal to their faction. And faction allegiance only starts to matter when the players reached a level high enough that they actually have an impact on faction warfare.
So when a newbie creates a new character today, they will have a weak character and they will lack skills and metagame knowledge. It might take months until they have the competence to gain significant influence in the faction-vs-faction gameplay. Some might in fact never play faction warfare on a high skill level. So the faction you wanted to boost will soon look good according to player numbers, but still gets their ass kicked because a lot of their players do not contribute effectively.
Regarding your idea to solve this problem with giving an Exp bonus to the underrepresented side. Let's assume that your game is similar to World of Warcraft, where you have separated PvE and PvP content, with the PvE content being the main way to earn Exp points. An Exp bonus will not be a good incentive for faction warfare in such a game, because it would be primarily an incentive for PvE gameplay. The main beneficiaries of this would be those players who don't participate in faction warfare. So you would make the situation even worse. It might, however, work in a game where faction warfare is the primary source of Exp in your game. When the underrepresented faction receives more rewards in faction warfare, it would incentivize more players to participate in it... but only if the reward actually outweights the penalty for fighting on the losing side (both material and emotional).
A better approach than to force players to play the faction they don't actually want to play is to look at your faction-vs-faction gameplay and look for how you can design it to mitigate a numerical advantage. See how you can design it in a way which makes it fun and fair to play even if one side outnumbers the other. Also look for ways to make the game fun even if you are losing. But this task would be highly game-specific. Doing it like WoW and giving a stat buff to the side with less people is a simple and effective solution, but far from the only one. If you post a new question with more information about your faction-vs-faction game mechanics we might help you to balance them better when the factions are asymmetrical.