WinForms ist nicht nur veraltet, sondern tot, schon seit vielen Jahren ;)
Ursprünglich wollten sie es nicht mal für .NET Core supporten, haben dann aber dem Druck aus der Community nachgegeben.
Gleiches gilt auch für WPF, auch das ist tot.
Wenn es dir ums Lernen geht, unabhängig von der Langlebigkeit, dann würde ich WPF wählen. Das ist zwar alt, aber es hat Maßstäbe gesetzt, die bis heute noch in vielen Frameworks verwendet werden.
Wenn es dir um Zukunftssicherheit geht, hast Du mehrere Möglichkeiten, je nach Ziel-Technologie.
Aus der Community kenne ich z.B. Avalonia, das war als ein WPF-Klon gedacht und es ähnelt sich auch, aber hinkt in einigen Dingen weit hinter WPF her. Wer aber kleine/einfache Projekt für mehrere Geräte entwickeln will, für den kann Avalonia eine super Wahl sein.
Microsoft entwickelt selber einen quasi WPF-Nachfolger (eigentlich Xamarin-Nachfolger), der hat sicher auch Potential, allerdings auch noch einige Probleme. Ich hoffe, dass Microsoft da etwas mehr Manpower rein steckt, dann könnte es in ein paar Jahren noch richtig interessant sein.
Wirklich die Zukunft sehe ich aber im Web mit Blazor. Auch das hat seine Problemchen, aber die sind weit überschaubarer, als bei MAUI.
In der Web-Entwicklung ist am meisten Bewegung, Du musst allerdings mit HTML/CSS und ein bisschen JavaScript klar kommen. Und Du musst damit leben können, dass Browser gerne mal komische Eigenarten haben - aber die gibt's eigentlich immer. Auf der anderen Seite gibt's auch Frameworks wie Bootstrap, die viel Arbeit abnehmen - im Web ist man ja nicht nur auf .NET beschränkt, die Web-Community ist gigantisch.
Außerdem kann ich Blazor auf Android, iOS, Windows, Linux, im Browser, auf einem Fernseher, etc. zum Laufen bringen. Wenn Du eine gemeinsame Code-Basis dafür haben willst, wird das etwas kompliziert (weil alle Projekt-Typen einen anderen Projekt-Aufbau haben), aber es geht, Blazor bleibt Blazor.
MAUI unterstützt z.B. ein Blazor-Frontend (und das funktioniert auch ziemlich gut), dadurch läuft Blazor auf Mobile- und Desktop-Geräten und auch als Microsoft-Store-App.
Dann gibt's noch Electron, eine alternative Desktop-Lösung für Web-Anwendungen.
Oder Photino.NET, ein kleine, dem Gefühl nach noch nicht ganz ausgereifte, aber sehr viel leichtgewichtigere Alternative zu Electron. Probleme hatte ich damit noch keine, nur eine Unschönheit, dass sie die Logs direkt in die Konsole schreiben.
Oder Du bleibst bei der klassischen Web-Anwendung, Browser gibt's ja auch überall.
Ich arbeite aktuell an einem Projekt, des MAUI (für Mobile), Photino.NET (Desktop) und klassisch Web (Browser/Backend) mit einer gemeinsamen Blazor-Codebasis nutzt. Bedenke aber, dass Blazor-Support auch Nachteile hat, so muss z.B. eine Browser-Engine installiert sein, Electron liefert sie selber mit, Photino.NET sucht eine installierte Engine.
Bedenke aber auch, dass das alles nach viel klingt, aber noch nicht wirklich viel ist. Allein ASP.NET Core und die damit in Verbindung stehenden Extensions-Frameworks hängen Blazor und die UI-Frameworks ab. Wenn Du dann noch Authentifizierung (oder noch schlimmer: Single Sign-on) oder Datenbanken haben willst, kommt nochmal ein großer Berg an Komplexität oben drauf.
Also versuch nicht, direkt nach den Sternen zu greifen. Vielleicht kannst Du damit umgehen (wenn ja, wüsste ich einen Arbeitgeber für dich ;) ), aber wahrscheinlicher ist, dass Du damit ziemlich überfordert sein wirst. Also mach lieber mit WPF weiter, bis die Grundlagen stabil sitzen (auch sowas wie LINQ oder async, damit haben viele Kollegen ihre Probleme), dann kannst Du weiter schauen. Es gibt ja auch noch andere sehr zentrale Frameworks, wie z.B. Entity Framework Core oder diverse Logging-Frameworks, oder Konzepte wie Configuration oder Dependency Injection. Das sind alles Dinge, die brauchst Du in der Web-Entwicklung, da ist es sehr hilfreich, wenn Du damit schon mal im kleineren/einfacheren Rahmen gearbeitet hast.