the return value from EvaluateJavaScriptAsync() is the promise and not the result of the promise resolve. javascript has no method to turn an async call to sync.
if you have hooked up javascript calling your .net code, then add to code
await webview.EvaluateJavaScriptAsync("dotask().then(r => callDotNet(r));
or you can poll:
await webview.EvaluateJavaScriptAsync("window.result = ''; dotask().then(r => window.result = r"));
var result = await webview.EvaluateJavaScriptAsync("window.result");
while(result == "")
{
Thread.Sleep(10);
result = await webview.EvaluateJavaScriptAsync("window.result");
}