Repository: electron
Issue: [Bug]: setBounds make BrowserWindows larger every time on Windows
Labels: platform/windows,bug :beetle:,status/confirmed,component/BrowserWindow,has-repro-gist,21-x-y,22-x-y

<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

* [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [x] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

### Issue Details

* **Electron Version:**
  * <!-- (output of `node_modules/.bin/electron --version`) e.g. 4.0.3 -->11.2.3
* **Operating System:**
  * <!-- (Platform and Version) e.g. macOS 10.13.6 / Windows 10 (1803) / Ubuntu 18.04 x64 -->Windows 10 20H2
* **Last Known Working Electron version:**
  * <!-- (if applicable) e.g. 3.1.0 -->unknow

### Expected Behavior
<!-- A clear and concise description of what you expected to happen. -->
``setBounds`` to output of ``getBounds`` makes no effect to BrowserWindows size

### Actual Behavior
<!-- A clear and concise description of what actually happened. -->
``setBounds`` to output of ``getBounds`` makes BrowserWindows size larger every time ``setBounds`` called

### To Reproduce
<!--
Your best chance of getting this bug looked at quickly is to provide an example.
-->
main.js
```js
const { app, BrowserWindow } = require('electron')

function createWindow () {
  const win = new BrowserWindow({
    width: 801,
    height: 601,
    webPreferences: {
      nodeIntegration: true
    }
  })

  win.loadFile('index.html')

  let bounds = null

  win.on('minimize', () => {
    bounds = win.getBounds()
  })

  win.on('restore', () => {
    win.setBounds(bounds)
    console.log(win.getBounds())
  })
}

app.whenReady().then(createWindow)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow()
  }
})
```

index.html
```html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body style="background: white;">
    <h1>Hello World!</h1>
    <p>
        We are using node <script>document.write(process.versions.node)</script>,
        Chrome <script>document.write(process.versions.chrome)</script>,
        and Electron <script>document.write(process.versions.electron)</script>.
    </p>
</body>
</html>

```

<!--
For bugs that can be encapsulated in a small experiment, you can use Electron Fiddle (https://github.com/electron/fiddle) to publish your example to a GitHub Gist and link it your bug report.
-->

<!--
If Fiddle is insufficient to produce an example, please provide an example REPOSITORY that can be cloned and run. You can fork electron-quick-start (https://github.com/electron/electron-quick-start) and include a link to the branch with your changes.
-->

<!--
If you provide a URL, please list the commands required to clone/setup/run your repo e.g.
```sh
$ git clone $YOUR_URL -b $BRANCH
$ npm install
$ npm start || electron .
```
-->

### Screenshots
<!-- If applicable, add screenshots to help explain your problem. -->
![image](https://user-images.githubusercontent.com/16091562/107219061-81573680-6a4b-11eb-90dd-c02aefc0f322.png)


### Additional Information
<!-- Add any other context about the problem here. -->