If MR diff is not ready, Overview page has never ending spinner ("Checking if mr can be merged")
### Summary
As surfaced by this automated test: https://gitlab.com/gitlab-org/gitlab/-/issues/392984 (Also occurred in staging and prod)
Other affected tests:
- https://gitlab.com/gitlab-org/gitlab/-/issues/409788
As we now load diffs asynchronously, if a user navigates to the `Overview` tab of an MR before the diffs are available "Checking if MR can be merged" will be in the merge widget and a never ending spinner will occur. The user must refresh the page after the diff has loaded to see the correct merge status.
The automated E2E tests create the MR via the API and then immediately navigate to MRs that have just been created.
The logs from the browser indicate a 404, see below
### Steps to reproduce
1. Create MR via API (the larger the more likely this issue will occur)
2. Immediately navigate to the MR (Overview tab)
### Example Project
Any
<!-- If possible, please create an example project here on GitLab.com that exhibits the problematic
behavior, and link to it here in the bug report. If you are using an older version of GitLab, this
will also determine whether the bug is fixed in a more recent version. -->
### What is the current *bug* behavior?

<!-- Describe what actually happens. -->
### What is the expected *correct* behavior?
Diff eventually loads
<!-- Describe what you should see instead. -->
### Relevant logs and/or screenshots
This is output from the browser:
```
2023-03-21 18:50:00 +0000 SEVERE: https://staging.gitlab.com/gitlab-qa-sandbox-group-3/qa-test-2023-03-21-18-40-16-f9e1caef173456e0/assign-approvers-99f31bf91d31d159/-/merge_requests/1/diffs_metadata.json?diff_head=true&view=inline&w=0 - Failed to load resource: the server responded with a status of 404 ()
2023-03-21 18:50:00 +0000 WARNING: https://staging.gitlab.com/assets/webpack/sentry.442f48bf.chunk.js 0:26842 "[gitlab] Something went wrong with the startup call for \"/gitlab-qa-sandbox-group-3/qa-test-2023-03-21-18-40-16-f9e1caef173456e0/assign-approvers-99f31bf91d31d159/-/merge_requests/1/diffs_metadata.json?diff_head=true&view=inline&w=0\"" Error
at https://staging.gitlab.com/assets/webpack/main.29803a57.chunk.js:99:18560
at async https://staging.gitlab.com/assets/webpack/main.29803a57.chunk.js:99:18484
at async d.Kt (https://staging.gitlab.com/assets/webpack/pages.projects.merge_requests.show.70c18751.chunk.js:1:126688)
```
### Output of checks
<!-- If you are reporting a bug on GitLab.com, uncomment below -->
<!-- This bug happens on GitLab.com -->
#### Results of GitLab environment info
<!-- Input any relevant GitLab environment information if needed. -->
<details>
<summary>Expand for output related to GitLab environment info</summary>
<pre>
(For installations with omnibus-gitlab package run and paste the output of:
`sudo gitlab-rake gitlab:env:info`)
(For installations from source run and paste the output of:
`sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
</pre>
</details>
#### Results of GitLab application Check
<!-- Input any relevant GitLab application check information if needed. -->
<details>
<summary>Expand for output related to the GitLab application check</summary>
<pre>
(For installations with omnibus-gitlab package run and paste the output of:
`sudo gitlab-rake gitlab:check SANITIZE=true`)
(For installations from source run and paste the output of:
`sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true`)
(we will only investigate if the tests are passing)
</pre>
</details>
### Possible fixes
<!-- If you can, link to the line of code that might be responsible for the problem. -->
issue