### 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 feature request that matches the one I want to file, without success.

### Electron Version

15.2.0

### What operating system are you using?

Windows

### Operating System Version

Windows 10 enterprise, 21H1

### What arch are you using?

x64

### Last Known Working Electron version

13.2.1

### Expected Behavior

When moving a child view partly outside of it's parents window bounds I expect it to keep it's size and position.

### Actual Behavior

When moving a child view partly outside of it's parent window it's bounds are resized.

### Testcase Gist URL

https://gist.github.com/900f0a593260572e8292e6db0e71f8de

### Additional Information

The change was introduced between electron versions 13.2.1 and 13.2.2 (which can be tested using the fiddle). It's likely due to the change included inside the PR: https://github.com/electron/electron/pull/30540

Our use case is that we have a virtual keyboard and logic to shift a browser view position to fit focused elements inside the visible area when the keyboard is opened. We are shifting the brower view by setting a negative y-position for the bounds, as seen in the provided fiddle.

The new behavior with a resized viewport will affect the sizing and positioning of elements inside the viewport.
shell/browser/ui/views/inspectable_web_contents_view_views.cc
InspectableWebContents* inspectable_web_contents) {
  return new InspectableWebContentsViewViews(inspectable_web_contents);
}
InspectableWebContentsViewViews::InspectableWebContentsViewViews(
    InspectableWebContents* inspectable_web_contents)
    : inspectable_web_contents_(inspectable_web_contents),
      devtools_web_view_(new views::WebView(nullptr)),
      title_(u"Developer Tools") {
  if (!inspectable_web_contents_->IsGuest() &&
      inspectable_web_contents_->GetWebContents()->GetNativeView()) {
    auto* contents_web_view = new views::WebView(nullptr);
    contents_web_view->SetWebContents(
        inspectable_web_contents_->GetWebContents());
    contents_web_view_ = contents_web_view;
  } else {
    contents_web_view_ = new views::Label(u"No content under offscreen mode");
  }
  devtools_web_view_->SetVisible(false);
  AddChildView(devtools_web_view_);
  AddChildView(contents_web_view_);
}
InspectableWebContentsViewViews::~InspectableWebContentsViewViews() {
  if (devtools_window_)
    inspectable_web_contents()->SaveDevToolsBounds(
        devtools_window_->GetWindowBoundsInScreen());
}
views::View* InspectableWebContentsViewViews::GetView() {
  return this;
}
views::View* InspectableWebContentsViewViews::GetWebView() {