When using `renderToReadableStream` for e.g. Cloudflare Workers runtimes, I'm noticing this error on the server:

```
TypeError: The stream is not in a state that permits close
    at ReadableStreamDefaultController.close (/Users/joshlarson/src/github.com/jplhomer/vite-streaming-ssr-demo/node_modules/web-streams-polyfill/src/lib/readable-stream/default-controller.ts:72:13)
    at Mc (/Users/joshlarson/src/github.com/jplhomer/vite-streaming-ssr-demo/dist/worker/worker.js:3636:145)
    at Bc (/Users/joshlarson/src/github.com/jplhomer/vite-streaming-ssr-demo/dist/worker/worker.js:3457:33)
    at ping (/Users/joshlarson/src/github.com/jplhomer/vite-streaming-ssr-demo/dist/worker/worker.js:3128:24)
GET / 200 OK (2091.13ms)
```

I'm assuming this results in the following malformed chunk being sent to the stream:

```
<div hidden id="<div hidden id="S:1">
```

Which results in the client failing:

```
Uncaught TypeError: Cannot read properties of null (reading 'parentNode')
    at $RS (127.0.0.1/:11)
    at 127.0.0.1/:11
```

I put together a reproduction here, powered by [Miniflare](https://miniflare.dev/) for the Workers runtime: https://github.com/jplhomer/vite-streaming-ssr-demo

## Possible issues

- Could this be related to the "fundamentally flawed" nature of Web Streams implementations in e.g. Cloudflare Workers runtime? https://github.com/reactwg/react-18/discussions/66#discussioncomment-944266
- Is something going on with corking/uncorking, as per https://github.com/reactwg/react-18/discussions/91
- Maybe something's wrong with Miniflare's polyfill and this is a non-issue, coming from `web-streams-polyfill`?
- Finally, it's possible something is wrong with the Vite version of the example I've put together. I could try rebuilding with webpack if it's determined none of these items apply.
const segment = {
    id,
    model,
    ping: () => pingSegment(request, segment),
  };
  return segment;
}
function serializeByValueID(id: number): string {
  return '$' + id.toString(16);
}
function serializeByRefID(id: number): string {
  return '@' + id.toString(16);
}
function escapeStringValue(value: string): string {
  if (value[0] === '$' || value[0] === '@') {
    
    
    return '$' + value;
  } else {
    return value;
  }
}
function isObjectPrototype(object): boolean {
  if (!object) {
    return false;
  }
  
  const ObjectPrototype = Object.prototype;
  if (object === ObjectPrototype) {
    return true;