The exact amounts of forces that took part in this battle seem to be unknown or at least controversial. My opinion bases on the lecture of 10 pages of discussion at the main Polish historical board.
In overall, it's safe to say that the the answer is yes, most of the Roman soldiers "Roman" and most of Hannibal's soldiers were mercenaries. Even if it would be more adequate to replace mercenaries with allies.
But I don't claim that it was the reason for winning the battle, which is much more complicated thing.
The following quotes come from Appian's History of Rome.
Hannibal:
He speedily put in battle array about 50,000 men and eighty elephants.
He placed the elephants in the front line at intervals, in order to
strike terror into the enemy's ranks. Next to them he placed the third
part of his army, composed of Celts and Ligurians, and mixed with them
everywhere Moorish and Balearic archers and slingers. Behind these was
his second line, composed of Carthaginians and Africans. The third
line consisted of Italians who had followed him from their own
country, in whom he placed the greatest confidence, since they had the
most to apprehend from defeat. The cavalry were placed on the wings.
In this way Hannibal arranged his forces.
Scipio:
[§41] [202] [Proconsul Publius Cornelius] had about 23,000 foot and
1,500 Italian and Roman horse. He had as allies Massinissa with a
large number of Numidian horse, and another prince, named Dacamas,
with 1,600 horse.
This way we can assume that Hannibal had three separate armies that didn't know each other and didn't have previous experience in cooperating together. One of them being Magon's army, containing Celts, Ligures and other tribes, the second Africans (Libyans and Carthaginians) and the third army in which Hannibal believed the most - veterans from Italy. Also half of his cavalry were Numidians.
At the same time, Scipio's army were mainly Roman and Italian soldiers, strengthened by forces of Masinissa who wanted to take revenge on Carthaginians for supporting his opponent on the way to take over the power in Numidia.