Du kannst das Paket `array` laden und Dir einen neuen Spaltentyp definieren, beispielsweise mit dem von Dir gewählten Paket `hanging`:
    \usepackage{hanging}
    \usepackage{array}
    \newcolumntype{h}[1]{>{\hangpara{1em}{1}}p{#1}}
Das Einfügen des zusätzlichen Abstands zwischen den Tabellenzeilen kannst Du statt über `\rule{0pt}{1.5em}` mit der Anweisung `\addlinespace[<abstand>]` erledigen. Wird deren optionales Argument nicht angegeben, dann wird die Länge `\defaultaddspace` verwendet. Diese ist auf `0.5em` voreingestellt.
    \documentclass[jou,a4paper,ngerman]{apa7}
    \usepackage[T1]{fontenc}
    %\usepackage[utf8]{inputenc}% nur bei sehr alten TeX Distributionen nötig
    \usepackage[english,main=ngerman]{babel}
    \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
    \usepackage{caption}
    \usepackage{lmodern}
    \usepackage{multirow}
    \usepackage{threeparttablex}
    
    \usepackage{hanging}
    \usepackage{array}
    \newcolumntype{h}[1]{>{\hangpara{1em}{1}}p{#1}}
    
    \begin{document}
    \begin{table}[htbp] 
    \vspace*{2em}\centering
\centering
    \begin{threeparttable}
      \caption{Hängender Einzug wäre toll}
      \label{tab:Tabelle}
      \begin{tabular}{h{4cm}h{4cm}}
        \addlinespace
        Kategorie 1: Kompliziert Kompliziert
          & Eine durchaus anspruchsvolle Kategorie, die ausführlich erklärt werden muss.
          \\\addlinespace
        Kategorie 2: Nicht ganz so kompliziert
          & Das kann jeder verstehen, auch wenn es über mehrere Zeilen geht \ldots
          \\\midrule
      \end{tabular}
      \tablenote{}
    \end{threeparttable}
    \end{table}
    \end{document}