Problem dabei ist, dass die Gliederungsbefehle keine Umgebungen sind. Man könnte natürlich \leftskip dafür missbrauchen:
\documentclass[12pt, a4paper]{scrreprt}
\usepackage{blindtext}
\usepackage{etoolbox}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\newcommand*{\chapterindent}{0pt}
\newcommand*{\sectionindent}{1em}
\newcommand*{\subsectionindent}{2em}
\newcommand*{\subsubsectionindent}{3em}
\newcommand*{\paragraphindent}{4em}
\newcommand*{\subparagraphindent}{5em}
\preto\chapter{\par\setlength{\leftskip}{\chapterindent}}
\preto\section{\par\setlength{\leftskip}{\sectionindent}}
\preto\subsection{\par\setlength{\leftskip}{\subsectionindent}}
\preto\subsubsection{\par\setlength{\leftskip}{\subsubsectionindent}}
\preto\paragraph{\par\setlength{\leftskip}{\paragraphindent}}
\preto\subparagraph{\par\setlength{\leftskip}{\subparagraphindent}}
\renewcommand*{\othersectionlevelsformat}[3]{%
\ifstr{#1}{paragraph}{}{%
\ifstr{#1}{subparagraph}{}{%
{\normalsize\normalfont\hspace{\csname #1indent\endcsname}}%
}%
}#3\autodot\enskip
}
\begin{document}
\tableofcontents
\newpage
\chapter{chapter}
\blindtext
\section{section}
\blindtext
\subsection{subsection}
\blindtext
\subsubsection{subsubsection}
\blindtext
\paragraph{paragraph}
\blindtext
\subparagraph{subparagraph}
\blindtext
\end{document}
Allerdings ergibt das dann ein Problem mit diversen Umgebungen, namentlich allen Listen-Umgebungen, die ihrerseits \leftskip auf einen bestimmten Wert setzen. Die müsste man dann so umdefinieren, dass sie keinen festen Wert verwenden, sondern einen Wert zum aktuell gültigen Wert addieren. Das macht einige Arbeit.
\preto ist in der Anleitung zu
etoolbox erklärt. \othersectionlefelsformat und \ifstr sind in der
KOMA-Script-Anleitung zu finden.