### Website or app

https://codesandbox.io/s/forwardref-context-change-did-not-render-lpdk4t?file=/src/index.js

### Repro steps

1. Goto https://lpdk4t.csb.app/
1. Start profiling
3. Enter "a" into the input
4. Stop profiling
![forwardRef-did-not-render](https://user-images.githubusercontent.com/12292047/164915101-f28f305a-2c51-4b89-8515-da073e5551c9.png)



### How often does this bug happen?

Every time

### DevTools package (automated)

_No response_

### DevTools version (automated)

4.24.3-46a98cff2

### Error message (automated)

_No response_

### Error call stack (automated)

_No response_

### Error component stack (automated)

_No response_

### GitHub query string (automated)

_No response_
const idToRootMap: Map<number, number> = new Map();
   When a mount or update is in progress, this value tracks the root that is being operated on.
  let currentRootID: number = -1;
   Returns the unique ID for a Fiber or generates and caches a new one if the Fiber hasn't been seen before.
   Once this method has been called for a Fiber, untrackFiberID() should always be called later to avoid leaking.
  function getOrGenerateFiberID(fiber: Fiber): number {
    let id = null;
    if (fiberToIDMap.has(fiber)) {
      id = fiberToIDMap.get(fiber);
    } else {
      const {alternate} = fiber;
      if (alternate !== null && fiberToIDMap.has(alternate)) {
        id = fiberToIDMap.get(alternate);
      }
    }
    let didGenerateID = false;
    if (id === null) {
      didGenerateID = true;
      id = getUID();
    }
     This refinement is for Flow purposes only.
    const refinedID = ((id: any): number);
     Make sure we're tracking this Fiber
     e.g. if it just mounted or an error was logged during initial render.
    if (!fiberToIDMap.has(fiber)) {
      fiberToIDMap.set(fiber, refinedID);
      idToArbitraryFiberMap.set(refinedID, fiber);
    }
     Also make sure we're tracking its alternate,
     e.g. in case this is the first update after mount.