### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/main/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 bug report that matches the one I want to file, without success.

### Electron Version

18.1.0

### What operating system are you using?

Ubuntu

### Operating System Version

Ubuntu 20.04

### What arch are you using?

x64

### Last Known Working Electron version

_No response_

### Expected Behavior

Offscreen rendering paint events should receive events for SELECT input elements.

### Actual Behavior

Sometimes an empty white box appears, or nothing happens.

### Testcase Gist URL

https://gist.github.com/gtalusan/c0ad56685aeb3b2c1108fbccf6b451b4

### Additional Information

Here's a screenshot when the fiddle is run with `offscreen = false`:

<img width="760" alt="Screen Shot 2022-05-03 at 9 54 42 AM" src="https://user-images.githubusercontent.com/355585/166471227-1e0e27b0-cc8b-4c8e-94e5-a4261e2437b6.png">

Here are the paint event images saved to PNGs when `offscreen = true`:
![0](https://user-images.githubusercontent.com/355585/166471435-209960eb-27e2-47f1-a758-1760a052f3d1.png)
![1](https://user-images.githubusercontent.com/355585/166471445-269fab98-f046-43d4-b72a-65a49c5bc067.png)


shell/browser/osr/osr_render_widget_host_view.cc
popup_host_view_->weak_ptr_factory_.GetWeakPtr()));
      }
    } else if (!guest_host_views_.empty()) {
      for (auto* guest_host_view : guest_host_views_) {
        if (!guest_host_view->render_widget_host_ ||
            !guest_host_view->render_widget_host_->GetView()) {
          continue;
        }
        const gfx::Rect& guest_bounds =
            guest_host_view->render_widget_host_->GetView()->GetViewBounds();
        if (guest_bounds.Contains(mouse_wheel_event.PositionInWidget().x(),
                                  mouse_wheel_event.PositionInWidget().y())) {
          blink::WebMouseWheelEvent guest_mouse_wheel_event(mouse_wheel_event);
          guest_mouse_wheel_event.SetPositionInWidget(
              mouse_wheel_event.PositionInWidget().x() - guest_bounds.x(),
              mouse_wheel_event.PositionInWidget().y() - guest_bounds.y());
          guest_mouse_wheel_event.SetPositionInScreen(
              guest_mouse_wheel_event.PositionInWidget().x(),
              guest_mouse_wheel_event.PositionInWidget().y());
          guest_host_view->SendMouseWheelEvent(guest_mouse_wheel_event);
          return;
        }
      }
    }
  }
  if (!render_widget_host_)
    return;
  render_widget_host_->ForwardWheelEvent(event);
}
void OffScreenRenderWidgetHostView::SetPainting(bool painting) {