<!--
  Please provide a clear and concise description of what the bug is. Include
  screenshots if needed. Please test using the latest version of the relevant
  React packages to make sure your issue has not already been fixed.
-->

React version: 241c446

## Steps To Reproduce

https://codesandbox.io/s/romantic-gates-2hrjp

1. Click "Show A" to render the lazy component.  
2. Type into the input whose placeholder says it works. startTransition will call, inline loading will show for 2 seconds, then the Suspense boundary will trigger.
3. Click the "update" button - same as above - everything works
4. Now type into the input whose placeholder says it *doesn't* work. Note that the inline placeholder stays up for the entire time; the Suspense boundary never shows.
5. Now note that steps 2 or 3 will likely immediately show the suspense boundary. The bypassed rendering of the Suspense boundary from step 4 seems to be backed up, stuck somewhere, and is now unleashed.

Note that steps 2 and 3 are optional. No matter what, the preventDefault that's called in step 4 causes this incorrect behavior no matter whether steps 2 or 3 have been exercised. 

<!--
  Your bug will get fixed much faster if we can run your code and it doesn't
  have dependencies other than React. Issues without reproduction steps or
  code examples may be immediately closed as not actionable.
-->

Link to code example:  see above

<!--
  Please provide a CodeSandbox (https://codesandbox.io/s/new), a link to a
  repository on GitHub, or provide a minimal code example that reproduces the
  problem. You may provide a screenshot of the application if you think it is
  relevant to your bug report. Here are some tips for providing a minimal
  example: https://stackoverflow.com/help/mcve.
-->

## The current behavior

startTransition should suspend after the timeout even if event.preventDefault is called.

## The expected behavior

it does not 
Scheduler.unstable_yieldValue('Foo');
      return (
        <Suspense fallback={<Text text="Loading..." />}>
          {renderContent ? <AsyncText text="A" ms={5000} /> : null}
        </Suspense>
      );
    }
    ReactNoop.render(<Foo />);
    expect(Scheduler).toFlushAndYield(['Foo']);
    ReactNoop.render(<Foo renderContent={true} />);
    Scheduler.unstable_advanceTime(100);
    await advanceTimers(100);
    
    expect(Scheduler).toFlushAndYieldThrough(['Foo']);
    
    Scheduler.unstable_advanceTime(1250);
    await advanceTimers(1250);