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