I had exactly the same problem, and reproduced it in a pure .Net app (without PowerShell).
I think it's a threading issue. I made a lot of experiments to walk around this issue. It seems that we cannot call GetCookiesAsync("").GetAwaiter().GetResult() in response of an event. GetCookiesAsync must be called in an async function (potentially with an 'await' call). Then event handler can then be async, but it is not possible (or not found how) to do it in PowerShell. (I tried with Powershell Jobs and ThreadJobs, without success).
So I wrote a PowerShell binary module to wrap this. It consists of a hidden WPF application that run in the background and with a CmdLet written in C# that communicates with it.
You can find it here: https://github.com/Woazim/PSWebView2
This is a work in progress and suggestions are welcome as I'm not an experimented C# .Net developer. However, it can be a base to your use case.