Boa tarde, Diogo Barbosa Silva Sousa.
Tive o mesmo problema. No meu caso o que estava acontecendo era algo bem simples de resolver. No método GetCapaLivroAsync da classe LivroApiClient eu tinha esqueci de colocar o sinal $ para interpolar a string nessa linha:
var resposta = await _httpClient.DeleteAsync("livros/{id}");
Dessa forma o compilador não entende que esse {id} é a variável que está sendo recebida como parâmetro então ela gera a exceção do EnsureSuccessStatusCode quando a requisição foi mal sucedida. Corrigindo ficou dessa forma:
var resposta = await _httpClient.DeleteAsync($"livros/{id}");
Agora funciona e parou de dar erro. Vê se com você não está acontecendo o mesmo problema. Sugiro postar o código aqui para que a comunidade tente te ajudar.