### 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/ui/win/taskbar_host.cc
bool TaskbarHost::SetThumbarButtons(HWND window,
                                    const std::vector<ThumbarButton>& buttons) {
  if (buttons.size() > kMaxButtonsCount || !InitializeTaskbar())
    return false;
  callback_map_.clear();
  
  
  
  base::win::ScopedHICON icons[kMaxButtonsCount] = {};
  THUMBBUTTON thumb_buttons[kMaxButtonsCount] = {};
  for (size_t i = 0; i < kMaxButtonsCount; ++i) {
    THUMBBUTTON& thumb_button = thumb_buttons[i];
    
    thumb_button.iId = kButtonIdBase + i;
    thumb_button.dwMask = THB_FLAGS;
    if (i >= buttons.size()) {
      
      
      thumb_button.dwFlags = THBF_HIDDEN;
      continue;
    }
    
    const ThumbarButton& button = buttons[i];
    
    thumb_button.dwFlags = THBF_ENABLED;
    if (!GetThumbarButtonFlags(button.flags, &thumb_button.dwFlags))
      return false;
    
    if (!button.icon.IsEmpty()) {
      thumb_button.dwMask |= THB_ICON;