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 
'https://reactjs.org/link/controlled-components',
        'A component',
        props.type,
      );
      didWarnDefaultChecked = true;
    }
    if (value !== null && defaultValue !== null && !didWarnDefaultInputValue) {
      console.error(
        '%s contains an input of type %s with both value and defaultValue props. ' +
          'Input elements must be either controlled or uncontrolled ' +
          '(specify either the value prop, or the defaultValue prop, but not ' +
          'both). Decide between using a controlled or uncontrolled input ' +
          'element and remove one of these props. More info: ' +
          'https://reactjs.org/link/controlled-components',
        'A component',
        props.type,
      );
      didWarnDefaultInputValue = true;
    }
  }
  if (checked !== null) {
    pushBooleanAttribute(target, 'checked', checked);
  } else if (defaultChecked !== null) {
    pushBooleanAttribute(target, 'checked', defaultChecked);
  }
  if (value !== null) {
    pushAttribute(target, 'value', value);
  } else if (defaultValue !== null) {
    pushAttribute(target, 'value', defaultValue);
  }