Nested `startTransition` call "takes over" and makes parent `startTransition` unable to track `isPending`.

Seb says it's a bug.

Repro:

https://codesandbox.io/s/pensive-breeze-rg70wn?file=/IndexPage.js:192-288

1. Click the button
2. `isPending` in `IndexPage.js` is `true`

However, `isPending` in `App.js` is `false`.

Expected: `isPending` in `App.js` is also `true`.
ReactCurrentDispatcher.current = ContextOnlyDispatcher;
  if (__DEV__) {
    workInProgress._debugHookTypes = hookTypesDev;
  }
   This check uses currentHook so that it works the same in DEV and prod bundles.
   hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.
  const didRenderTooFewHooks =
    currentHook !== null && currentHook.next !== null;
  renderLanes = NoLanes;
  currentlyRenderingFiber = (null: any);
  currentHook = null;
  workInProgressHook = null;
  if (__DEV__) {
    currentHookNameInDev = null;
    hookTypesDev = null;
    hookTypesUpdateIndexDev = -1;
    
    
    
    
    if (
      current !== null &&
      (current.flags & StaticMaskEffect) !==
        (workInProgress.flags & StaticMaskEffect) &&
      
      
      
      
      
      (current.mode & ConcurrentMode) !== NoMode