Só para esclarecer: o problema que você está descrevendo ocorre apenas com crawlers e solicitações de API?
Além disso, o crawler envia solicitações HTTP sem definir
Accept-Languageno cabeçalho da solicitação.
Como o Google não define o cabeçalho Accept-Language, essa abordagem não funcionará para resolver o problema com o Google.
O atributo lang da tag html é sempre definido para o locale padrão do site. Isso também ocorre quando um usuário seleciona um locale diferente do padrão do site na página de preferências.