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

expect(portalContainer.innerHTML).toBe('<div>portal:2</div>');
    expect(container.innerHTML).toBe('<div></div>');
    ReactDOM.render(
      <div>{ReactDOM.createPortal(<p>portal:3</p>, portalContainer)}</div>,
      container,
    );
    expect(portalContainer.innerHTML).toBe('<p>portal:3</p>');
    expect(container.innerHTML).toBe('<div></div>');
    ReactDOM.render(
      <div>{ReactDOM.createPortal(['Hi', 'Bye'], portalContainer)}</div>,
      container,
    );
    expect(portalContainer.innerHTML).toBe('HiBye');
    expect(container.innerHTML).toBe('<div></div>');
    ReactDOM.render(
      <div>{ReactDOM.createPortal(['Bye', 'Hi'], portalContainer)}</div>,
      container,
    );
    expect(portalContainer.innerHTML).toBe('ByeHi');
    expect(container.innerHTML).toBe('<div></div>');
    ReactDOM.render(
      <div>{ReactDOM.createPortal(null, portalContainer)}</div>,
      container,
    );
    expect(portalContainer.innerHTML).toBe('');
    expect(container.innerHTML).toBe('<div></div>');
  });
  it('should unmount empty portal component wherever it appears', () => {
    const portalContainer = document.createElement('div');
    class Wrapper extends React.Component {