The instances are exported concurrently. that means that they start ink order but might finish differently.
You could use a callback that is triggered just when the file was written but you get the original instance as an argument. So you know the original index.
Not sure to understand completely.
But it seems that this code, generate export one after each other, and keep the same order as the export panel in Glyphs.
exportFolder = 'CustomPath'
for instance in Glyphs.font.instances:
instance.generate(FontPath = exportFolder, Containers = [PLAIN])