React version: `18.3.0-canary-9377e1010-20230712`

## Steps To Reproduce

1. Add  `<meta name="viewport" content="width=device-width, initial-scale=1" />` inside of `<head>`
2. Call `ReactDOM.preload('/img.png', { as: 'image' })` 

## The current behavior

The `<link>` generated from the preload is before the `<meta>` for the viewport.

## The expected behavior

The `<link>` should come after the `<meta>` for the viewport.

## Related

- https://github.com/vercel/next.js/issues/53574

cc @gnoff 
' with the options provided to `ReactDOM.preinit("%s", { as: "script", ... })`. React will use the first props or preinitialization' +
                  ' options encountered when rendering a hoistable script with a particular `src` and will ignore any newer props or' +
                  ' options. The first instance of this script resource was created using the `ReactDOM.preinit()` function.' +
                  ' Please note, `ReactDOM.preinit()` is modeled off of module import assertions capabilities and does not support' +
                  ' arbitrary props. If you need to have props not included with the preinit options you will need to rely on rendering' +
                  ' <script> tags only.%s',
                src,
                src,
                differenceDescription,
              );
            }
            break;
          }
        }
      }
    }
    if (!resource) {
      resource = {
        type: 'script',
        chunks: [],
        state: NoState,
        props: null,
      };
      resources.scriptsMap.set(key, resource);
      if (__DEV__) {
        markAsRenderedResourceDEV(resource, props);
      }
      
      resources.scripts.add(resource);
      let scriptProps = props;