<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Issue Details

* **Electron Version:**
  * 9-x-y and above
* **Operating System:**
  * linux
* **Last Known Working Electron version:**
  * 8-x-y

### Expected Behavior

crash reports should be saved locally when `uploadToServer: false`

### Actual Behavior
<!-- A clear and concise description of what actually happened. -->

crashDumps path is empty

### To Reproduce
<!--
Your best chance of getting this bug looked at quickly is to provide an example.
-->

https://gist.github.com/deepak1556/4e98046880c9ff4fecc03813708a2264
shell/browser/electron_browser_client.cc
if (allowed) {
    platform_util::OpenExternal(
        escaped_url, platform_util::OpenExternalOptions(), base::DoNothing());
  }
}
void HandleExternalProtocolInUI(
    const GURL& url,
    content::WebContents::OnceGetter web_contents_getter,
    bool has_user_gesture) {
  content::WebContents* web_contents = std::move(web_contents_getter).Run();
  if (!web_contents)
    return;
  auto* permission_helper =
      WebContentsPermissionHelper::FromWebContents(web_contents);
  if (!permission_helper)
    return;
  GURL escaped_url(net::EscapeExternalHandlerValue(url.spec()));
  auto callback = base::BindOnce(&OnOpenExternal, escaped_url);
  permission_helper->RequestOpenExternalPermission(std::move(callback),
                                                   has_user_gesture, url);
}
bool ElectronBrowserClient::HandleExternalProtocol(