### Preflight Checklist

- [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](https://www.github.com/electron/electron/issues) for a feature request that matches the one I want to file, without success.

### Electron Version

11.2.3

### What operating system are you using?

Windows

### Operating System Version

Windows 10 v19042

### What arch are you using?

x64

### Last Known Working Electron version

_No response_

### Expected Behavior

After calling setThumbarButtons() and then `window.hide()`  and then `window.show() ` 
I should be able to set thumbar buttons back to their original state (or create new)

### Actual Behavior

Thumbar function seems to break completely after `window.hide()` is called
(It wont display anymore, calling `setThumbarButtons([...])` returns true but wont actually display anything
⚠️ The bug can also be replicated by just creating the thumbar while the window is already hidden

### Testcase Gist URL

https://gist.github.com/883fa102da7c81e47bb866aa20089292

 -----

#12240 #22081 seems to have the same issue on older Electron versions

I encountered this bug while working on [youtube-music](https://github.com/th-ch/youtube-music/pull/200/files)

[EDIT]: I made the whole thing work by using 
  `win.minimize(); win.setSkipTaskbar(true);`
  instead of
  `window.hide();`
  but still, the original bug exists
shell/browser/native_window_views.cc
if (!content_view())
    return;
  if (!view) {
    return;
  }
  if (view->GetInspectableWebContentsView())
    content_view()->RemoveChildView(
        view->GetInspectableWebContentsView()->GetView());
  remove_browser_view(view);
}
void NativeWindowViews::SetTopBrowserView(NativeBrowserView* view) {
  if (!content_view())
    return;
  if (!view) {
    return;
  }
  remove_browser_view(view);
  add_browser_view(view);
  if (view->GetInspectableWebContentsView())
    content_view()->ReorderChildView(
        view->GetInspectableWebContentsView()->GetView(), -1);
}
void NativeWindowViews::SetParentWindow(NativeWindow* parent) {
  NativeWindow::SetParentWindow(parent);
#if defined(USE_X11)
  if (!features::IsUsingOzonePlatform()) {
    x11::SetProperty(