It was a battle between an English army of the Hanovers
No. It was the BRITISH Army. The English Army ceased to exist in 1707 when England herself ceased to be an independent state. Culloden was NOT a battle between the English and the Scots. The last battle between the English and the Scots was the 1575 Raid of the Redeswire.
Raid of the Redeswire - Wikipedia, the free encyclopedia
and a rebel army composed mostly of Scots intent on restoring the Stuarts.
Charles Stuart's Jacobite army (the baddies) consisted largely of Scottish Highlanders, as well as a number of Lowland Scots and a small detachment of Englishmen from the Manchester Regiment. The Jacobites were supported and supplied by the Kingdom of France from Irish and Scots units in the French service. A composite battalion of infantry ("Irish Picquets") comprising detachments from each of the regiments of the Irish Brigade plus one squadron of Irish cavalry in the French army served at the battle alongside the regiment of Royal Scots (Royal Ecossais) raised the previous year to support the Stuart claim.
So it was not an actual Scottish Army. Such a thing ceased to exist in 1707, when the British Army was formed with the merger of the Scottish and English armies. Not only that, but this army garnered little support in Scotland. Most Scots detested the idea that Scots in that Jacobite army were being sacrificed for French advantage in Europe.
The Battle of Culloden was not a battle between the English and the Scots. It was a battle between the British and the Jacobites, along with their perennial troublemaking Frog allies. Large numbers of Scots fought in the British Army side while the Jacobite army included French units and some English Jacobites.
Of the 16 British Army infantry battalions which fought at Culloden against the Jacobites, a quarter of them were Scottish.