Über die ganze Textbreite geht die dank
\textwidth ja bereits. Wenn du tatsächlich die gesamte Seitenbreite haben willst, musst du zum einen Option
headwidth=paper setzen (siehe Anleitung zu
scrlayer-scrpage in den KOMA-Script-Anleitungen) und zum anderen
\linewidth statt
\textwidth verwenden. Dann bleibt noch das Problem, dass
@{…} den normalerweise eingefügten Spaltenabstand
ersetzt. Es wird also vor der ersten Spalte im Gegensatz zu den anderen Spalten kein Abstand und damit auch kein Zusatzabstand eingefügt. Ich würde das einfach ohne
tabular* machen:
\documentclass[ngerman,10pt,headwidth=paper]{scrartcl}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{scrlayer-scrpage}
\usepackage{array,calc}
\chead{%
\begin{tabular}{|*3{>{\centering}p{(\linewidth-6\tabcolsep)/3}|}}
\hline
Logo & Thema & Name Fach\tabularnewline
\hline
\end{tabular}%
}
\begin{document}
Hier steht Text
\end{document}
Wobei ich die vertikalen Linien komplett für überflüssig und zudem hässlich halte. Ohne die ist das ganze noch einfacher:
\documentclass[ngerman,10pt,headwidth=paper,headtopline,headsepline]{scrartcl}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{scrlayer-scrpage}
\usepackage{array,calc}
\ihead{\makebox[.333\linewidth]{Logo}}
\chead{Thema}
\ohead{\makebox[.333\linewidth]{Name Fach}}
\begin{document}
Hier steht Text
\end{document}