Оказалось, что C# HttpClient генерирует исключение TaskCanceledException в AggregateException, когда происходит тайм-аут.
Так что это не проблема API, а требует особого внимания при работе с HttpClient.
HttpClient необходимо изменить, чтобы вызвать исключение HttpRequestException или другое исключение, связанное с HTTP, за исключением исключения TaskCanceledException.