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

const iframeDocument = iframe.contentDocument;
    iframeDocument.write(
      '<!DOCTYPE html><html><head></head><body><div></div></body></html>',
    );
    iframeDocument.close();
    const iframeContainer = iframeDocument.body.firstChild;
    let actualDocument;
    let textNode;
    spyOnDevAndProd(iframeContainer, 'appendChild').and.callFake(node => {
      actualDocument = node.ownerDocument;
      textNode = node;
    });
    ReactDOM.render(textContent, iframeContainer);
    expect(textNode.textContent).toBe(textContent);
    expect(actualDocument).not.toBe(document);
    expect(actualDocument).toBe(iframeDocument);
    expect(iframeContainer.appendChild).toHaveBeenCalledTimes(1);
  });
  it('should mount into a document fragment', () => {
    const fragment = document.createDocumentFragment();
    ReactDOM.render(<div>foo</div>, fragment);
    expect(container.innerHTML).toBe('');
    container.appendChild(fragment);
    expect(container.innerHTML).toBe('<div>foo</div>');
  });
  
  it('should not diff memoized host components', () => {
    const inputRef = React.createRef();
    let didCallOnChange = false;
    class Child extends React.Component {