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 
if (textEmbedded) {
        
        
        target.push(textSeparator);
      }
      if (typeof props.charSet === 'string') {
        return pushSelfClosing(responseState.charsetChunks, props, 'meta');
      } else {
        return pushSelfClosing(responseState.hoistableChunks, props, 'meta');
      }
    }
  } else {
    return pushSelfClosing(target, props, 'meta');
  }
}
function pushLink(
  target: Array<Chunk | PrecomputedChunk>,
  props: Object,
  responseState: ResponseState,
  resources: Resources,
  textEmbedded: boolean,
  insertionMode: InsertionMode,
  noscriptTagInScope: boolean,
): null {
  if (enableFloat) {
    const rel = props.rel;
    const href = props.href;
    const precedence = props.precedence;
    if (
      insertionMode === SVG_MODE ||