* [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.

Note: I am aware of these issues, but they have been closed and are for 8.1.x and 8.2.x releases, not 8.3.x+.
https://github.com/electron/electron/issues/20788
https://github.com/electron/electron/issues/22405

### Issue Details

* **Electron Version:**
  * 8.3.1 (and 9.0.3)
* **Operating System:**
  * macOS 10.15.5
* **Last Known Working Electron version:**
  * 7.3.1

### Expected Behavior
The expected behavior can be seen in Electron 7.3.1, where the media key event handler is invoked when the media key is pressed.

### Actual Behavior
Electron 8.3.1 says that it registers the Media Key event handlers correctly, but in fact it does not. Pressing "Play" on my keyboard will open Apple Music because the Electron globalShortcut is not working.

### To Reproduce
**Fiddle: https://gist.github.com/e502767f6dc26942c825a73029f0b20a**

Steps:

1. Open Fiddle with my gist and Electron 7.3.1.
2. Launch the Electron app, and grant the accessibility permission in the macOS system settings if needed (there will be a popup if you need to).
3. On your keyboard, press the Next/Prev/PlayPause media keys, and see that in the main process console, the events are being captured and that this code works.
4. Repeat the steps with Electron 8.3.1; the events are not being captured even though Electron returns `true` for four `globalShortcut.register()` invocations.
shell/browser/api/electron_api_global_shortcut.cc
if (accelerator_callback_map_.erase(accelerator) == 0)
    return;
  GlobalShortcutListener::GetInstance()->UnregisterAccelerator(accelerator,
                                                               this);
}
void GlobalShortcut::UnregisterSome(
    const std::vector<ui::Accelerator>& accelerators) {
  for (auto& accelerator : accelerators) {
    Unregister(accelerator);
  }
}
bool GlobalShortcut::IsRegistered(const ui::Accelerator& accelerator) {
  return base::Contains(accelerator_callback_map_, accelerator);
}
void GlobalShortcut::UnregisterAll() {
  accelerator_callback_map_.clear();
  GlobalShortcutListener::GetInstance()->UnregisterAccelerators(this);
}
gin::Handle<GlobalShortcut> GlobalShortcut::Create(v8::Isolate* isolate) {