1) A black eagle on gold is usually used to represent the ancient Roman Empire in Medieval and Renaissance art — usually a two-headed eagle. Starting in the late 1200s heraldic works claimed that the Holy Roman Emperor used a black two-headed eagle on gold and the Eastern Roman or Byzantine Emperor used a gold two-headed eagle on red. But I have seen other images of Heraclius using a black eagle on gold.
2) Lions were and are very common in coats-of-arms. A gold lion rampant on a red field is the coat-of-arms of Bulgaria today, as well as being attributed to Macedonia. A single gold lion on red, but passant, is attributed to the Duke of Aquitaine. Many other coats-of-arms were attributed to Macedonia and Alexander the Great, not just a gold lion on red.
It is possible that the gold lion on red was the coat of arms of some contemporary Italian lord put in the painting for some reason.
A gold lion on red, or a red lion on gold, was used as the coat of arms of the Kingdom of Lesser Armenia. Heraclius did recruit Armenian allies and attacked Persia through (Greater) Armenia.
3) The black head on white was the coat of arms of Corsica, a region near Italy where an Italian dialect was spoken. But it was a Moor's head, used to represent all kinds of Africans, black people, Arabs, Turks, and Muslims. Thus it might also be used to represent non-Christian Persians. So maybe Piero della Francesca used it as Chosroes's flag. It would be interesting to know the various coats of arms of ancient Persia used in various paintings and illustrations.
3b) What about the blue and gold flag? What was its design and was it supposed to some kind of Persian flag?
4) Yes a white cross on red was the coat of arms and banner of the Count and later Duke of Savoy. But the Count of Savoy might have copied it from his overlord. One flag used by the Holy Roman Empire was allegedly a white cross on red. It is possible that the Emperor's vassals such as the King of Denmark and the Count of Savoy copied it to show their loyalty. And it is also claimed that some Ghibelline cities in Italy used a white cross on red as their coat of arms while many Guelph cities used a red cross on white as their coat-of-arms. Pavia, Novaro, Como, Treviso, and Asti are Ghibeline cities with white crosses on red.
Piero della Francesca was probably familiar with the coats-of-arms of several Italian cities and may have used a red flag with a white cross to symbolize a particular Italian city for some reason. Or maybe to symbolize Christendom — presumably the use of such a flag by the Emperor was to symbolize overlordship of Christendom.
5) To me the "white swan on black" looks like "a pelican in it's piety" a bizzare looking pelican wounding it's breast to feed its young on drops of its blood. The white bird on green looks to me like its legs are a bit too long to be a duck.
I hope my comments are of some use in understanding the problems of identifying the flags correctly.