On actions that cause a component to remount (e.g. changing a value of a hook inside the component), the `devtools` source field disappears.

https://github.com/facebook/react/assets/75563024/64d84583-d8d9-44ca-b1d7-1cb232baccce

---

React version: 18.2.0

## Steps To Reproduce

1. Clone this repo: https://github.com/idango10/fiber-debug-source-issue (simple project made with `create-react-app`, only difference is `src/App.js` and `src/Comp.js`.
2. Open `devtools` -> `Components`, and navigate to the `Comp`.
3. Verify that the source field exists.
4. Change the value of the hook (e.g. from `'initial value'` to `'new value'`) and save the file.
5. Go back to the browser. and navigate back to the `Comp` in `devtools`.
6. You'll see that the source field vanished.

## Code example:

Let's say I have two components:

```js
export function InnerComp() {
    const [value] = React.useState('initial value');

    return <span>{value}</span>;
}
```

```js
import { InnerComp } from './InnerComp';

function OuterComp() {
    return <InnerComp />;
}
```

Looking at `Comp` in `devtools` -> `Components`, we'll see that there's a source field. 
If I change `'initial value'` to `'new value'` inside `useState` of `InnerComp`:
```js
export function InnerComp() {
    const [value] = React.useState('new value');

    return <span>{value}</span>;
}
```

The source field of `Comp` will vanish.

## The current behavior
The `devtools` source field of a component vanishes after remount.

## The expected behavior
The field should stay visible.

bound to a special "instance" object instead of a Fiber. The Instance
   object will not have any of these fields. It will only be connected to
   the fiber tree via a single link at the root. So if this level alone is
   sufficient to fix memory issues, that bodes well for our plans.
  fiber.child = null;
  fiber.deletions = null;
  fiber.sibling = null;
   The `stateNode` is cyclical because on host nodes it points to the host
   tree, which has its own pointers to children, parents, and siblings.
   The other host nodes also point back to fibers, so we should detach that
   one, too.
  if (fiber.tag === HostComponent) {
    const hostInstance: Instance = fiber.stateNode;
    if (hostInstance !== null) {
      detachDeletedInstance(hostInstance);
    }
  }
  fiber.stateNode = null;
  if (__DEV__) {
    fiber._debugOwner = null;
  }
   Theoretically, nothing in here should be necessary, because we already
   disconnected the fiber from the tree. So even if something leaks this
   particular fiber, it won't leak anything else.
  fiber.return = null;
  fiber.dependencies = null;
  fiber.memoizedProps = null;
  fiber.memoizedState = null;
  fiber.pendingProps = null;
  fiber.stateNode = null;