Solución: las variables de entorno de launchSettings.json se ignoran en un perfil con commandName: Executable
Si tu perfil Executable ejecuta dotnet run o dotnet watch, el comando interno aplica el perfil predeterminado y sobrescribe tus variables. Agrega --no-launch-profile y usa el SDK 10.0.200+.