### 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
OffScreenRenderWidgetHostView::GetDelegatedFrameHost() const {
  return delegated_frame_host_.get();
}
void OffScreenRenderWidgetHostView::SetupFrameRate(bool force) {
  if (!force && frame_rate_threshold_us_ != 0)
    return;
  frame_rate_threshold_us_ = 1000000 / frame_rate_;
  if (compositor_) {
    compositor_->SetDisplayVSyncParameters(
        base::TimeTicks::Now(), base::Microseconds(frame_rate_threshold_us_));
  }
}
void OffScreenRenderWidgetHostView::Invalidate() {
  InvalidateBounds(gfx::Rect(GetRequestedRendererSize()));
}
void OffScreenRenderWidgetHostView::InvalidateBounds(const gfx::Rect& bounds) {
  CompositeFrame(bounds);
}
void OffScreenRenderWidgetHostView::ResizeRootLayer(bool force) {
  SetupFrameRate(false);
  display::Display display =
      display::Screen::GetScreen()->GetDisplayNearestView(GetNativeView());
  const float scaleFactor = display.device_scale_factor();
  float sf = GetDeviceScaleFactor();
  const bool scaleFactorDidChange = scaleFactor != sf;
  
  if (screen_infos_.screen_infos.empty()) {
    UpdateScreenInfo();
  }
  screen_infos_.mutable_current().device_scale_factor = scaleFactor;