React version: 0.0.0-f77c7b9d7
Browser: Chrome Version 84.0.4147.105 (Official Build) (64-bit)
OS: Ubuntu 18.04.4 LTS

## Steps To Reproduce

1. move mouse over button

Link to code example:

https://codesandbox.io/s/mouseenter-in-reactnext-ibld3?file=/src/Demo.js

## The current behavior

`onMouseEnter` fires twice (sometimes it doesn't).

![video capture of repro steps](https://i.ibb.co/XzdQF68/react-next-mouseenter-twice.gif)

## The expected behavior

It fires only once. Same repro with `react@16.13.1`: https://codesandbox.io/s/mouseenter-in-react16131-9sr7b?file=/src/Demo.js

state = {error: null};
      componentDidCatch(error) {
        this.setState({error});
      }
      render() {
        if (this.state.error) {
          return <image {...expectSVG} />;
        }
        return this.props.children;
      }
    }
    assertNamespacesMatch(
      <svg {...expectSVG}>
        <ErrorBoundary>
          {usePortal(
            <div {...expectHTML}>
              <math {...expectMath}>
                <BrokenRender />)
              </math>
            </div>,
          )}
        </ErrorBoundary>
        {usePortal(<div {...expectHTML} />)}
      </svg>,
    );
  });
  it('should pass portal context when rendering subtree elsewhere', () => {
    const portalContainer = document.createElement('div');
    class Component extends React.Component {