fallbackLocales are prioritized over locale in the Content Delivery API

We’re experiencing an issue where fallbackLocales are prioritized over locale in the Content Delivery API in the _seoMetaTags field.
For context: we’re running a bilingual site - featuring most pages in both German and English, with German being the default language. As English translations usually happen after German pages are published, we require the fallbacks to work.

This query for us, on a content item that has both German and English SEO fields filled out, returns only the German version at all times:

{
  page(filter: {id: {eq: 122980163}}, locale: en, fallbackLocales: [de]) {
    _seoMetaTags {
      attributes
      content
      tag
    }
  }
}

This also happens if we do not set a locale, but only fallback locales, setting English as the first fallback:

{
  page(filter: {id: {eq: 122980163}}, fallbackLocales: [en, de]) {
    _seoMetaTags {
      attributes
      content
      tag
    }
  }
}

This also happens if we set fallbackLocales as ‘en, de’ as above, but also include the locale as ‘en’:

{
  page(filter: {id: {eq: 122980163}}, locale: en, fallbackLocales: [en, de]) {
    _seoMetaTags {
      attributes
      content
      tag
    }
  }
}

The only time it does not happen is if we do not query for ‘de’ at all - like here where we have no de fallback locale:

{
  page(filter: {id: {eq: 122980163}}, locale: en) {
    _seoMetaTags {
      attributes
      content
      tag
    }
  }
}

And here where english is listed as its own fallback locale:

{
  page(filter: {id: {eq: 122980163}}, locale: en, fallbackLocales: [en]) {
    _seoMetaTags {
      attributes
      content
      tag
    }
  }
}

But curiously does not work here, where we have no locale defined, but fallbackLocale array that includes only ‘en’. This returns german content.

{
  page(filter: {id: {eq: 122980163}}, fallbackLocales: [en]) {
    _seoMetaTags {
      attributes
      content
      tag
    }
  }
}

This seems to be a platform bug - and seems probably new, as we’ve had our bilingual site setup for a fairly long time at this point (though maybe we just haven’t noticed it because it only seems to be affecting SEO).

Please advise if we’re doing something very wrong with our data querying, or if this does in fact seem like a platform bug.

Hello @brainbits, can you send us the project URL at support@datocms.com so we can try taking a look at what could be happening on our end?

Thank you!