This is a suggestion/request for the future. In the REST Api is possible to specify a position for images https://shopify.dev/docs/admin-api/rest/reference/products/product-image?api[version]=2020-07 . However in the GraphQL is impossible https://shopify.dev/docs/admin-api/graphql/reference/mutation/input-object/imageinput?api[version]=2... . It seems that GraphQL respect the order in the array of ImageInput, but in our case sometimes we get the images in a random order, making our customers complain about "main picture" not being the main one.
If you have a recent example of this happening, can you provide the request id response header so I can take a look?