### What happened?

When using `RemoteWebDriverBuilder.config()` to set a `ClientConfig` instance that does not contain a `baseUri` and does not set an address with `address()` method, the `build()` method will get a non null return from `this.getLocalDriver()`, but that method does not create a driver using the provided `ClientConfig` values.

I don't actually see a way to set a `ClientConfig` for local driver sessions, which, if that's the case, is a bigger issue to address. For this I think we should at least throw an exception that the config instance provided can not be respected if we get a local driver result.

### How can we reproduce the issue?

```shell
FirefoxOptions browserOptions = new FirefoxOptions();
        ClientConfig config = ClientConfig.defaultConfig()
                .connectionTimeout(Duration.ofMinutes(5))
                .readTimeout(Duration.ofMinutes(4));

        WebDriver driver = RemoteWebDriver.builder()
                .oneOf(browserOptions)
                .config(config)
                .build();
```


### Relevant log output

```shell
n/a
```


### Operating System

n/a

### Selenium version

Java 4.0.0

### What are the browser(s) and version(s) where you see this issue?

n/a

### What are the browser driver(s) and version(s) where you see this issue?

n/a

### Are you using Selenium Grid?

n/a
driver.get(pages.clicksPage);
      assertThat(checkPermission(driver, CLIPBOARD_READ)).isEqualTo("prompt");
      assertThat(checkPermission(driver, CLIPBOARD_WRITE)).isEqualTo("prompt");
      permissions.setPermission(CLIPBOARD_READ, "granted");
      permissions.setPermission(CLIPBOARD_WRITE, "granted");
      assertThat(checkPermission(driver, CLIPBOARD_READ)).isEqualTo("granted");
      assertThat(checkPermission(driver, CLIPBOARD_WRITE)).isEqualTo("granted");
    } finally {
      driver.quit();
    }
  }
  public String checkPermission(WebDriver driver, String permission){
    @SuppressWarnings("unchecked")
    Map<String, Object> result = (Map<String, Object>) ((JavascriptExecutor) driver).executeAsyncScript(
      "callback = arguments[arguments.length - 1];"
        + "callback(navigator.permissions.query({"
        + "name: arguments[0]"
        + "}));", permission);
    return result.get("state").toString();
  }
  @Test
  public void canCast() throws InterruptedException {
    HasCasting caster = (HasCasting) driver;
    
    caster.getCastSinks();
    Thread.sleep(1500);
    List<Map<String, String>> castSinks = caster.getCastSinks();
    
    if (castSinks.size() > 0) {
      String deviceName = castSinks.get(0).get("name");