можно в CI добавить флаг градлу, который проброситься в build config и по нему переключать – но это на уровне сборки
В том-то и дело, что хочется не на уровне сборки уметь переключать, а на уровне приложения, чтобы это мог делать любой член команды без пересборки. uat - это user acceptance testing, обычно это стенд, который отдельно поднимается для тестирования непосредственно заказчиком. Тут это не принципиально, промежуточные стенды могут быть разные, вопрос как между ними (и между продом) переключаться, если их несколько.