### What happened?

Normally, when using `webdriver.get()`, the session timeout is "reset" as the session isn't idle. This doesn't seem to apply to the managed downloads URL `session/:id/se/files` - it has a fixed expiry even if I am navigating in the browser.

Steps to reproduce:

1. Set the session timeout to 60 seconds on the node.
2. Initiate a session with managed downloads
3. Request the `session/:id/se/files` to confirm it's working.
4. Periodically (every 10 seconds) navigate via `webdriver.get()` to keep the session alive.
5. After about 90 seconds (i.e. more than the 60 seconds timeout), request `session/:id/se/files` again.

Expected: 200 and empty array (I didn't download anything yet)

Actual: 404 session missing error

If, as part of step 4, I periodically request the files URL as well as navigating, then step 5 works as expected. (You can see I added this but commented it out in the script to reproduce the issue.)

### Files

<details>

<summary>Relevant `docker-compose.yml`</summary>

**NOTE**: This compose file shows Seleniarm on my local macOS, but I've also observed it on our main servers which are x86 running the official Selenium Grid.

```yaml
services:
  selenium-hub:
    container_name: selenium-hub
    image: seleniarm/hub:latest
    ports:
      - "4444:4444"
    environment:
      SE_SESSION_REQUEST_TIMEOUT: 180

  chrome: &selenium-chrome
    <<: *common
    image: seleniarm/node-chromium:latest
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      selenium-hub:
        condition: service_healthy
    environment:
      SE_OPTS: "--enable-managed-downloads true"
      SE_NODE_SESSION_TIMEOUT: 60
      SE_EVENT_BUS_HOST: selenium-hub
      SE_EVENT_BUS_PUBLISH_PORT: 4442
      SE_EVENT_BUS_SUBSCRIBE_PORT: 4443
      SE_NODE_MAX_SESSIONS: 20
      SCREEN_WIDTH: 1920
      SCREEN_HEIGHT: 1080
      SCREEN_DEPTH: 24
      TZ: Australia/Adelaide
      START_XVFB: "true"
    ports:
      - "5901:5900"
```
</details>

<details>

<summary>Reproduction script</summary>

```python3
from datetime import datetime
import time

import requests
import selenium
from selenium import webdriver


def log(val: str) -> None:
    """Log with datestamp."""
    print(datetime.now(), val)


def main() -> None:
    """Repro."""
    opts = webdriver.ChromeOptions()
    opts.add_argument("--headless=new")
    caps = opts.to_capabilities()
    caps["se:downloadsEnabled"] = True
    wd = webdriver.Remote("http://host.docker.internal:4444", desired_capabilities=caps)

    log(f"Browser Name: {wd.capabilities.get('browserName')}")
    browser_version = wd.capabilities.get("browserVersion")
    if not browser_version:
        # Chrome reports the browser version as just 'version'.
        browser_version = wd.capabilities.get("version")
    log(f"Browser Version: {browser_version}")
    log(f"Selenium API Version: {selenium.__version__}")
    if chrome_caps := wd.capabilities.get("chrome"):
        version_str = chrome_caps.get("chromedriverVersion")
        log(f"Chromedriver version: {version_str}")
    wd.set_script_timeout(120)
    log(f"Current URL: {wd.current_url}")

    files = requests.get(f"http://host.docker.internal:4444/session/{wd.session_id}/se/files")
    log(f"START: {files.status_code} {files.json()}")

    # Loop through
    for i in range(10):
        log(f"Iteration {i}")
        wd.get(f"https://example.com/?iteration={i}")

        # If this request is skipped, the final output will be 404.
        # files = requests.get(f"http://host.docker.internal:4444/session/{wd.session_id}/se/files")
        # log(f"FILES: {files.status_code} {files.json()}")

        time.sleep(10)

    # Finally log at the end.
    files = requests.get(f"http://host.docker.internal:4444/session/{wd.session_id}/se/files")
    log(f"FINAL: {files.status_code} {files.json()}")

    log("Done")
    wd.quit()


main()
```
</details>

<details>

<summary>Relevant log output</summary>

```shell
DeprecationWarning: desired_capabilities has been deprecated, please pass in an Options object with options kwarg
  wd = webdriver.Remote("http://host.docker.internal:4444", desired_capabilities=caps)
2023-05-18 11:59:58.554425 Browser Name: chrome
2023-05-18 11:59:58.554466 Browser Version: 113.0.5672.63
2023-05-18 11:59:58.554471 Selenium API Version: 4.7.2
2023-05-18 11:59:58.554474 Chromedriver version: 113.0.5672.63 (0e1a4471d5ae5bf128b1bd8f4d627c8cbd55f70c-refs/branch-heads/5672@{#912})
2023-05-18 11:59:58.718200 Current URL: data:,
2023-05-18 11:59:58.797353 START: 200 {'value': {'names': []}}
2023-05-18 11:59:58.797381 Iteration 0
2023-05-18 12:00:18.766345 Iteration 1
2023-05-18 12:00:34.028078 Iteration 2
2023-05-18 12:00:49.338381 Iteration 3
2023-05-18 12:01:01.782721 Iteration 4
2023-05-18 12:01:25.435056 Iteration 5
2023-05-18 12:01:36.840883 Iteration 6
2023-05-18 12:01:48.039801 Iteration 7
2023-05-18 12:02:00.564371 Iteration 8
2023-05-18 12:02:16.086747 Iteration 9
2023-05-18 12:02:27.437738 FINAL: 404 {'value': {'error': 'invalid session id', 'message': "Cannot find session with id: 4df56570ff650e0db3a0aacb7e787635\nBuild info: version: '4.9.1', revision: 'eb2032df7f'\nSystem info: os.name: 'Linux', os.arch: 'aarch64', os.version: '5.15.49-linuxkit', java.version: '11.0.18'\nDriver info: driver.version: unknown", 'stacktrace': "org.openqa.selenium.NoSuchSessionException: Cannot find session with id: 4df56570ff650e0db3a0aacb7e787635\nBuild info: version: '4.9.1', revision: 'eb2032df7f'\nSystem info: os.name: 'Linux', os.arch: 'aarch64', os.version: '5.15.49-linuxkit', java.version: '11.0.18'\nDriver info: driver.version: unknown\n\tat org.openqa.selenium.grid.node.local.LocalNode.downloadFile(LocalNode.java:605)\n\tat org.openqa.selenium.grid.node.DownloadFile.execute(DownloadFile.java:39)\n\tat org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)\n\tat org.openqa.selenium.remote.http.Route.execute(Route.java:68)\n\tat org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)\n\tat org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)\n\tat org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)\n\tat org.openqa.selenium.remote.http.Route.execute(Route.java:68)\n\tat org.openqa.selenium.grid.node.Node.execute(Node.java:255)\n\tat org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)\n\tat org.openqa.selenium.remote.http.Route.execute(Route.java:68)\n\tat org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)\n\tat org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)\n\tat org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)\n\tat org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)\n\tat org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)\n\tat org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base/java.lang.Thread.run(Thread.java:829)\n"}}
2023-05-18 12:02:27.438207 Done
```

</details>


### Operating System

Docker - hosts on both macOS Ventura 13.3.1 and Debian Linux

### Selenium version

Python 3.11.1, Selenium Bindings 4.7.2, Python Requests 2.26.0

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

Chrome 113.0.5672.63 (selenium/node-chrome:4)

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

ChromeDriver 113.0.5672.63 (0e1a4471d5ae5bf128b1bd8f4d627c8cbd55f70c-refs/branch-heads/5672@{#912}) (selenium/node-chrome:4)

### Are you using Selenium Grid?

4.9.1 (selenium/hub:4)
} catch (URISyntaxException e) {
      throw new RuntimeException(e);
    }
  }
  @Override
  public NodeStatus getStatus() {
    Set<Slot> slots =
        factories.stream()
            .map(
                slot -> {
                  Instant lastStarted = Instant.EPOCH;
                  Session session = null;
                  if (!slot.isAvailable()) {
                    ActiveSession activeSession = slot.getSession();
                    if (activeSession != null) {
                      lastStarted = activeSession.getStartTime();
                      session =
                          new Session(
                              activeSession.getId(),
                              activeSession.getUri(),
                              slot.getStereotype(),
                              activeSession.getCapabilities(),
                              activeSession.getStartTime());
                    }
                  }
                  return new Slot(
                      new SlotId(getId(), slot.getId()),
                      slot.getStereotype(),
                      lastStarted,
                      session);