I agree. Except that WinForms has not been abandoned. In fact, it's one of the supported paths in the modern .NET stack.
WinForms is a layer built on top of raw Win32. So it's not portable.
Even though Wine exists, Win32 calls can only be made from Win32 programs, not native Linux programs. So a WinForms app using the latest dotnet would need to run the Windows version of dotnet under Wine, and not use the Linux version of dotnet.
It lacks hardware acceleration.