Après avoir creusé davantage (lire googler frénétiquement), j'ai trouvé le problème et solution ici
En fin de compte, lorsque le site A accepte une requête, php charge ses variables .env pour toute la longueur de la requête http. Au cours de cette requête, lorsque le site A appelle le site B, puisqu'ils sont sur le même serveur exécutant le même php, php utilise toujours le .env du site A et ne charge pas du tout séparément le fichier .env du site B.
La meilleure explication de l'auteur :