URL Pickers occassionaly use wrong hostname on production

On a multi-site setup in Umbraco 13 each website has hostnames for production, staging and development (in that order) configured on each site’s homepage node, for example:

Site A: www.site-a.com, site-a.staging.com, site-a.local
Site B: www.site-b.com, site-b.staging.com, site-b.local

I have also set up a SiteDomainMapperComponent as per the recommended example code in the docs:

public void Initialize()
{
    _siteDomainMapper?.AddSite("development", "site-a.local", "site-b.local");
    _siteDomainMapper?.AddSite("staging", "site-a.staging.com", "site-b.staging.com");
    _siteDomainMapper?.AddSite("production", "www.site-a.com", "www.site-b.com");
}

And on production the appsetting for Umbraco:Cms:WebRouting:UmbracoApplicationUrl is set to https://www.site-a.com. The Umbraco:Cms:WebRouting:UrlProviderMode is set to its default value: Auto.

However, on a very rare occassion the URL Pickers return the development URL on production, so the URLs are prefixed with https://site-a.local instead of using the relative paths. I’m having a very hard time replicating the issue, I’ve only seen it happen once so far.

I’ve got a PageHeader ViewComponent that uses a custom SiteService to fetch a “site config” node using _umbracoHelper.Content(siteConfigId). This node contains the URL Pickers to build up the navigation, and some other global settings.

What could be the reason that these URL Pickers on a rare occassion use the development URLs instead of the production URLs?

Edit: I just noticed I’m not using the IVariationContextAccessor to set a specific culture when fetching the site config node in the SiteService class. These sites are not multilingual and there’s only one language defined in the Languages settings. But does the IVariationContextAccessor play any role in determining which hostname Umbraco uses for the URL Pickers?