Kastner durchlief zunächst alle Jugendabteilungen des SC Riessersee und spielte unter anderem sehr erfolgreich in der Deutschen Nachwuchsliga (DNL). Bereits in der Saison 2010/11 erhielt er sieben Einsätze in der Hauptrunde und 13 Einsätze in den Playoffs für die Profi-Mannschaft des SC Riessersee in der drittklassigen Oberliga. Außerdem absolvierte Kastner drei Einsätze in der deutschen U-18 Eishockeynationalmannschaft in der Spielzeit 2010/11. Von Beginn der Saison 2011/12 sand Kastner in der Stammaufstellung der 2.-Bundesliga-Mannschaft, nachdem die Mannschaft im Vorjahr den Meistertitel in der Oberliga gewonnen und damit in die 2. Liga aufgestiegen war. In der Saison 2014/15 war er dank einer Förderlizenz außerdem für den DEL-Kooperationspartner des SC Riessersee, den EHC Red Bull München spielberechtigt, absolvierte für die Münchener jedoch nur eine Partie.
Dort erhielt er zur Saison 2015/16, nach dem Ausscheiden des SC Riessersee aus den DEL2-Pre-Playoffs, einen festen Vertrag.[1] Mit den Münchenern gewann der Stürmer in der Folge zwischen 2016 und 2018 sowie 2023 viermal die Deutsche Meisterschaft, ebenso wie zwei Vizemeisterschaften in den Jahren 2019 und 2022. Im Jahr 2023 wurde er zum wertvollsten Spieler der Finalserie ausgezeichnet.
International
Nachdem Kastner im Juniorenbereich zwar mit Mannschaften des Deutschen Eishockey-Bundes an internationalen Vergleichen teilnahm, jedoch kein Weltmeisterschaftsturnier bestritt, debütierte er im Verlauf der Saison 2016/17 in der deutschen Nationalmannschaft. Mit selbiger nahm er in der Folge an den Weltmeisterschaften der Jahre 2021 und 2022 teil. Bei der Weltmeisterschaft 2023 errang er mit der Nationalmannschaft die Silbermedaille. Mit den Welttitelkämpfen 2024 folgte eine erneute Teilnahme.
(Legende zur Spielerstatistik: Sp oder GP = absolvierte Spiele; T oder G = erzielte Tore; V oder A = erzielte Assists; Pkt oder Pts = erzielte Scorerpunkte; SM oder PIM = erhaltene Strafminuten; +/− = Plus/Minus-Bilanz; PP = erzielte Überzahltore; SH = erzielte Unterzahltore; GW = erzielte Siegtore; 1Play-downs/Relegation; Kursiv: Statistik nicht vollständig)