Vorab sei erwähnt, dass eine Option `a4papier` vollkommen unbekannt ist, was in `log`-Datei auch gemeldet wird. `a4paper` wiederum ist bei KOMA-Script-Klassen ohnehin Voreinstellung, so dass die Option entfallen kann. `geometry` verwendet ohnehin das Papierformat, das es vorfindet, so dass man dort ebenfalls keine Option `a4paper` benötigt.
Dass du auf Seite 2 bereits „`Subsection 2`“ erhältst halte ich für korrekt, immerhin steht auf der Seite auch tatsächlich genau das. Wenn dich stört, dass auf Seite 1 kein „`Subsection 1`” steht, kann man das beispielsweise so ändern:
\documentclass[12pt]{scrartcl}
\usepackage[ngerman]{babel}
\renewcommand{\familydefault}{\sfdefault}% für ein VM überflüssig
\usepackage[left=2.5cm, right=2.5cm, top=2cm, bottom=2cm]{geometry} % eher ungünstige Seitenränder; für ein VM überflüssig
\usepackage{blindtext}
%Kopfzeile
\usepackage[headsepline=1pt,autooneside=false]{scrlayer-scrpage}
\clearpairofpagestyles
\automark[subsection]{section}
\ihead{\leftmark{} $|$ \rightbotmark}
\ohead*{\pagemark}
\renewcommand*{\sectionmarkformat}{} %Kopfzeile ohne Kaptitelnummer
\renewcommand*{\subsectionmarkformat}{} %Kopfzeile ohne Kapitelnummer
\begin{document}
\section{Section}
\blindtext
\subsection{Subsection 1}
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\subsection{Subsection 2}
\end{document}
Soll hingegen wirklich auf der ersten Seite nur „`Section`“ und auf der zweiten „`Subsection 1`” stehen, dann ginge das mit:
\documentclass[12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
%Kopfzeile
\usepackage[headsepline=1pt,autooneside=false]{scrlayer-scrpage}
\clearpairofpagestyles
\automark[subsection]{section}
\ihead{\leftmark{}\ifstr{\leftmark}{\rightmark}{}{ $|$ \righttopmark}}
\ohead*{\pagemark}
\renewcommand*{\sectionmarkformat}{} %Kopfzeile ohne Kaptitelnummer
\renewcommand*{\subsectionmarkformat}{} %Kopfzeile ohne Kapitelnummer
\begin{document}
\section{Section}
\blindtext
\subsection{Subsection 1}
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\subsection{Subsection 2}
\end{document}
Bitte beachte, dass `scrpage2` seit vielen Jahren veraltet ist. Es wird sicher irgendwann aus KOMA-Script verschwinden, deshalb sollte man den offiziellen Nachfolger, der auch in der [KOMA-Script-Anleitung](https://komascript.de/scrguide) dokumentiert ist, verwenden.
verwenden. Nur mit diesem Nachfolger stehen neben `\leftmark` und `\rightmark` auch die ebenfalls in der Anleitung dokumentierten Anweisungen `\leftfirstmark`, `\lefttopmark`, `\leftbotmark`, `\rightfirstmark`, `\righttopmark` und `\rightbotmark` zur Verfügung, die bei der Realisierung von Randbedingungen nützlich sein können. Das veraltete Paket `scrpage2` bietet diese nicht.
In deinem Code waren die `\automark`-Einstellungen übrigens nahezu wirkungslos, weil sie durch die Umdefinierung von `\sectionmark` und `\subsectionmark` überschrieben wurden.
Es sei nicht verschwiegen, dass obige Lösungen auch Nachteile haben, die du sofort erkennen solltest, wenn du unmittelbar am Ende ein `\section{Section 2}` einfügst. Ich tendiere deshalb zu etwas wie:
\documentclass[12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
%Kopfzeile
\usepackage[headsepline=1pt,autooneside=false]{scrlayer-scrpage}
\clearpairofpagestyles
\automark[subsection]{section}
\ihead{\leftmark{}\ifstr{\leftmark}{\rightbotmark}{}{ $|$ \rightbotmark}}
\ohead*{\pagemark}
\renewcommand*{\sectionmarkformat}{} %Kopfzeile ohne Kaptitelnummer
\renewcommand*{\subsectionmarkformat}{} %Kopfzeile ohne Kapitelnummer
\begin{document}
\section{Section}
\blindtext
\subsection{Subsection 1}
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\blindtext
\subsection{Subsection 2}
\blindtext
\section{Section 2}
\end{document}
Vielleicht ist das, was ich als Nachteil betrachte aber auch genau das, was tatsächlich gewünscht wird. Ohne genauere Spezifikation aller Sonderfälle, ist das kaum zu beurteilen. Daher habe ich auch mehrere Möglichkeiten gezeigt.