Después de investigar más (léase googlear frenéticamente), encontré el problema y solución aquí
En resumidas cuentas, cuando el sitio A acepta una solicitud, php carga sus variables .env durante toda la duración de la solicitud http. Durante esa solicitud, cuando el sitio A llama al sitio B, ya que están en el mismo servidor que ejecuta el mismo php, php sigue usando el .env del sitio A y no carga por separado el archivo .env del sitio B.
La mejor explicación del autor: