I've been noticing that XP is not being recording properly since the rejoin feature was added. I've tested out the problem over the last week or so since I first noticed.
It appears the game doesn't reward XP (and possibly cbills) if you quit the match early and don't return. I've noticed it rewarding XP if I leave shortly before the end, but not if I die early and it's an extended match. If my team wins, it still takes away the 2x XP bonus, but doesn't reward the XP.
My understanding is that the game should only be denying the XP if you disconnect and come back after more than 2 minutes, not if you disconnect for more than 2 minutes before the end of the game.