思い違いがあるかもしれないので一言・・・
上の質問へのコメントに書いたように、\u30d7 という結果になったのは 'プ' が Unicode Escape Sequence (UES) という形にエスケープされたからです。ちなみに、ASP.NET Core MVC ではデフォルトでそうなります。詳しくは以下の記事を見てください。
ASP.NET Core MVC の JSON シリアライズ
http://surferonwww.info/BlogEngine/post/2020/03/11/aspnet-core-mvc-controller-json-method-replaces-non-ascii-characters-with-5cuxxxx.aspx
その記事からリンクを張った Microsoft のドキュメントに書いてありますが "The default encoder escapes non-ASCII characters, HTML-sensitive characters within the ASCII-range, and characters that must be escaped according to the RFC 8259 JSON spec." ということで業界標準らしいので、ほとんどのデシリアライザは UES に対応しているはずです。
たぶん、質問者さんのアプリは API から受け取った JSON 文字列をそのまま表示するわけではなく、それをデシリアライズした結果の JavaScript オブジェクトとか C# のオブジェクトを使うと思いますが、であれば、
こちらを追加することで、目的のデータを取得できました。
var result = System.Text.RegularExpressions.Regex.Unescape(response.Content);
ということは必要ないはずです。(どうしても生の JSON 文字列を読みたいという客の要求とかがあれば話は別ですが)
例えば、以下のような Person クラスの C# のオブジェクトを JSON 文字列にシリアライズすると、
C#
1var person = new Person
2{
3 FirstName = "太郎",
4 LastName = "日 本 ascii string <input>"
5};
以下のようになります。
JSON
1{"FirstName":"\u592A\u90CE","LastName":"\u65E5\u3000\u672C ascii string \u003Cinput\u003E"}
上記の JSON 文字列は JavaScript でも C# のデシリアライザでも以下のようにデシリアライズできます。
JavaScript の場合
JavaScript
1var json = '{"FirstName":"\u592A\u90CE","LastName":"\u65E5\u3000\u672C ascii string \u003Cinput\u003E"}';
2var obj = JSON.parse(json);
3var result2 = document.getElementById('result2');
4result2.innerHTML = obj.LastName;
結果は:
C# の System.Text.Json 名前空間のデシリアライザの場合
C#
1Person person = JsonSerializer.Deserialize<Person>(json);
2Console.WriteLine($"FirstName: {person.FirstName}, LastName: {person.LastName}");
3
結果は:
FirstName: 太郎, LastName: 日 本 ascii string <input>