Any XP giving companion with a 1 hour cooldown is best, I find, as they seem to dish out similar amounts of XP as those with longer cooldowns, but can do so more frequently.
I use basidios, and at level 10, the lowest XP they give is 5 and the highest they give is 27.
I think from one single play moment, the higher the rarity the higher the reward. So the holiday snowcat can give the most xp in a single play moment (I've seen them give more than 40xp). However, because you can only play with it once every 12 hours (and my luck is absolutely abysmal; regardless of the maximum amount it could potentially give, they can still give low rolls that are in the same range as lower rarity companions), I believe over a longer period of time you are better off with companions you can bond with more often. So that makes the (regular) basidio and the radiant kuzma.