Ich würde `\mathstrut` in die *nodes* der Matrix einfügen. Das führt IHMO zu einer saubereren vertikalen Ausrichtung:
    \documentclass[varwidth, margin=5mm]{standalone}
    \usepackage[ngerman]{babel}
    \usepackage{amsmath, relsize, tikz}
    \usetikzlibrary{matrix, fit, positioning}
    
    \begin{document}
    
    \begin{tikzpicture}[
    font=\footnotesize, 
    rounded corners=0.125pt,
    ]
    % Einträge der Matrix
    \def\a{\mathlarger{\mathlarger{\boldsymbol{\ast}}}}
    \def\b{{\bullet}}
    % Matrix
    \matrix (m) [
    matrix of math nodes,
    inner sep=0pt, column sep=0.25em,
    row sep=1pt,
    nodes={font=\mathstrut,text width=1em,align=center},
    ]
    {%
    |(oL)|\a & \b & \b & \cdots & |(oM)|\b  & |(T1o)|\b & \cdots & |(T2o)|\b & |(oR)|\b \\
    0 & |(d22)|\a & \b & \cdots & \b & \b & \cdots & \b & \b \\
    0 & 0 & |(d33)|\ddots & \ddots & \vdots &  \vdots & \cdots & \vdots &\vdots \\
    \vdots & \vdots & \ddots & |(d44)|\ddots &  \b & \b & \cdots & \b &\b \\
    0 & 0 & \cdots & 0 & |(uM)|\a  & |(T1u)|\b & \cdots & |(T2u)|\b &\b \\
    };%
    
    % Treppe
    % oben
    \draw[] (oL.north west) -- (oL.south west) -- 
    (oL.south west-|d22.north west) -- (d22.south west) -- (d22.south east) --
    (d22.south east-|d33.north west) -- ([yshift=1.5em]d33.south west);
    % unten
    \draw[] ([xshift=0.5em]d44.south) -- (d44.south-|uM.north west) -- (uM.south west) -- (uM.south east);
    % Rahmen
    \draw[red] (uM.south east) -- (oM.north east) -- (oM.north east-|oL.north west) node[midway, above, font=\tiny\sffamily]{Stufenform};
    
    \end{tikzpicture}
    
    \end{document}
![alt text][1]
Wird einem die Matrix dadurch zu groß, kann man den Abstand der Zeilen beispielsweise mit `row sep=0pt` verkleinern.
  [1]: http://texwelt.de/wissen/upfiles/test_20170422_192052.png