Can´t say about loot. But exp worked fine in battle. Did not try siege.
On my unmodded game, my troops still did not gain the level ups they earned in a siege battle. I payed attention to how many levels they had, which was over 40. Then we do the keep battle. Siege over. Annnnd… My troops had like 5 level ups.
I’m unsure about field battles. I did notice my troops had a substantial amount of levels after a big battle and the enemy retreated causing a second war. Second war over. Looked at party screen. Had a substantial amount of level ups but slightly less than what the battle stats menu originally showed. Maybe this is because a few troops died in battle, unsure.
But this definitely 100% happens with sieges.