Repository: next.js
Issue: <Script /> component not working on route change
Labels: bug,Navigation

### Link to the code that reproduces this issue

https://codesandbox.io/p/sandbox/inspiring-moore-jgg9v2

### To Reproduce

Generally just navigating back and fourth between pages via <Link /> tags and eventually landing on the "services" page will fail to load the Twitter script. This issue can be reproduced with all external scripts I have tried. If you simply forced the browser refresh, the script will load fine.

1. Starting at base homepage path, click Go to about page
2. Click go to services (script loads)
3. Click go to about
4. Click go to services (script not loaded)
5. Twitter script (or any script) should load, but only loaded if you refresh page

### Current vs. Expected behavior

Currently Script loads on the initial load of the route, but doesn't load if you leave the route then return the route with the script. Expected that the script should be loaded without the need to refresh the page manually with the browser button, and on every route changes via Links not just the first load.

### Verify canary release

- [X] I verified that the issue exists in the latest Next.js canary release

### Provide environment information

```bash
Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 10 Pro
Binaries:
  Node: 18.18.0
  npm: N/A
  Yarn: N/A
  pnpm: N/A
Relevant Packages:
  next: 13.5.6-canary.6
  eslint-config-next: 13.4.4
  react: 18.2.0
  react-dom: 18.2.0
  typescript: 5.2.2
Next.js Config:
  output: N/A
```


### Which area(s) are affected? (Select all that apply)

Routing (next/router, next/navigation, next/link), Script optimization (next/script)

### Additional context

I have tested a bunch of solutions, such as loading the Script inside the layout component as suggested [here](https://nextjs.org/docs/app/building-your-application/optimizing/scripts), but still no dice. I have tried every `strategy` prop from the docs, and all the same result. This has worked with 4 different external scripts from different websites (Twitter, Instagram, DICE, and SweepWidget). There's a chance I am misusing the <Script/> component, but I am thinking not. I am out of troubleshooting steps!

The only usage of external scripts I have been able to get to work for my use case is the hacky component below for an external library that needed an `onLoad` function to be run, and the script seems to load every time as expected (live [here](https://6amgroup.com/tickets))
```
"use client";

export default function DiceWidget() {
    const loadScript = (src: string) => {
        return new Promise((resolve, reject) => {
            const script = document.createElement('script')
            script.src = src
            script.async = true
            script.onload = resolve
            script.onerror = reject
            document.body.appendChild(script).setAttribute("id", "dice")
        })
    }

    loadScript('https://widgets.dice.fm/dice-event-list-widget.js')
        .then(() => {
            console.log("Dice script loaded and ready.");
            // @ts-ignore
            DiceEventListWidget.create({
                "information":"regular",
                "eventTitle":"event",
                ...
            });
        })
        .catch((error) => {
            console.error('Script failed to load: ', error);
        })

        return (
                <div id="dice-event-list-widget"></div>
            )

}
```