Моё предположение, что это сделало из-за того, что ответ на самом деле тоже асинхронный: сначала приходят заголовки, статус, а тело приходит позже, если большое. Если посмотреть, то на самом деле под body лежит Stream. То есть данные могут прийти не сразу. А так как пока мы ждём данных — нам нам смысла блокировать eventloop, то метод и сделали асинхронным