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 
charsetChunks: [],
    preconnectChunks: [],
    preloadChunks: [],
    hoistableChunks: [],
    stylesToHoist: false,
    nonce,
  };
}
const ROOT_HTML_MODE = 0; 
const HTML_HTML_MODE = 1; 
export const HTML_MODE = 2;
const SVG_MODE = 3;
const MATHML_MODE = 4;
const HTML_TABLE_MODE = 5;
const HTML_TABLE_BODY_MODE = 6;
const HTML_TABLE_ROW_MODE = 7;
const HTML_COLGROUP_MODE = 8;
type InsertionMode = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
export type FormatContext = {
  insertionMode: InsertionMode, 
  selectedValue: null | string | Array<string>, 
  noscriptTagInScope: boolean,
};
function createFormatContext(
  insertionMode: InsertionMode,
  selectedValue: null | string,
  noscriptTagInScope: boolean,
): FormatContext {
  return {
    insertionMode,