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 
'data-precedence': string,
  [string]: mixed,
};
type StylesheetResource = TResource<'stylesheet', StylesheetProps>;
type StyleTagProps = {
  hrefs: Array<string>,
  precedence: string,
};
type StyleTagResource = TResource<'style', StyleTagProps>;
type StyleResource = StylesheetResource | StyleTagResource;
type ScriptProps = {
  async: true,
  src: string,
  [string]: mixed,
};
type ScriptResource = TResource<'script', null>;
type Resource =
  | StyleResource
  | ScriptResource
  | PreloadResource
  | PreconnectResource;
export type Resources = {
  
  preloadsMap: Map<string, PreloadResource>,
  preconnectsMap: Map<string, PreconnectResource>,
  stylesMap: Map<string, StyleResource>,
  scriptsMap: Map<string, ScriptResource>,
  
  preconnects: Set<PreconnectResource>,
  fontPreloads: Set<PreloadResource>,