Wenn Du wenigstens `compat=1.9` setzt, dann lässt sich der Code deutlich vereinfachen. Ab dieser Version ist `stacked ignores zero=true` automatisch gesetzt. Die aktuelle `pgfplots` Version ist allerdings 1.17. Beim eingefrorenen TL2019 ist sie 1.16, weshalb ich in den Beispielen diesen Wert für `compat` verwende.
[![alt text][1]][2]
    \documentclass[a4paper,12pt]{article}
    \usepackage{pgfplotstable}% lädt pgfplots, tikz, etw
    \pgfplotsset{compat=1.16}% mindestens 1.9 und unbedingt vor allen anderen pgfplots Einstellungen setzen
setzen, alternativ geht auch compat=newest
    \pgfplotsset{
      percentage series/.style={
        table/y expr=(\thisrow{#1}/\thisrow{sum}*100),
        table/meta=#1,
        table/x expr=\coordindex,
      },
      percentage plot/.style={
        axis line style={draw=none},% Achsen nicht zeichnen
        tick pos=lower,% y-Ticks links, x-Ticks unten
        tick align=outside,% Ticks nach außen antragen,
        tick style={draw=none},% aber nicht zeichnen
        % Beschriftung in Balken:
        nodes near coords,
        point meta=explicit,
        every node near coord/.append style={text=black},
        % Bereich und Beschriftung der y-Achse:
        ymin=0,ymax=100,
        ytick={0,20,...,100},
        yticklabel=\pgfmathprintnumber{\tick}\,$\%$,
        % Gitterlinien für y-Ticks
        ymajorgrids=true,
        grid style={gray}
      }
    }
    \pgfplotstableread[col sep=comma,header=false]{
      TB,11,39
      FB,23,26
      IG,11,38
      SFB,12,38
      TB,6,15
      FB,12,9
      IG,11,8
      SFB,17,1
    }\data
    \pgfplotstablecreatecol[
      create col/expr={\thisrow{1} + \thisrow{2}}
    ]{sum}{\data}
    \begin{document}
    \begin{tikzpicture}
    \begin{axis}[
      ybar stacked,
      width=13cm,
      height=10cm,
      percentage plot,
      bar width=0.65cm,
      % Bereich und Beschriftung der x-Achse:
      xmin=-.5,xmax=7.5,
      xtick=data,
      xticklabels from table={\data}{[index]0},
      % zusätzliche Markierungen an x-Achse
      minor xtick={-.5,3.5,7.5},
      minor tick length=1.5cm,
      minor x tick style={draw,/pgfplots/every axis grid},
      % zusätzliche Beschriftungen an x-Achse
      extra x ticks={1.5,5.5},
      extra x tick labels={3-jährige, 4-jährige},
      extra x tick style={
        major tick length=\pgfkeysvalueof{/pgfplots/minor tick length},
        tick label style={anchor=south},
      },
      % zusätzliche Beschriftung an y-Achse
      extra y ticks={50},
      extra y tick style={%
        tick label style={red},
        grid style={red}
      },
      % Legende
      legend style={
        at={(0.5,\dimexpr-\pgfkeysvalueof{/pgfplots/minor tick length}-.5cm\relax)},
        anchor=north,
        legend columns=-2
    },
    ]
    % Balken
    \addplot table [percentage series=1] {\data};
    \addplot table [percentage series=2] {\data};
    %Legende
    \legend{\strut leere Box,\strut volle Box}
    \end{axis}
    \end{tikzpicture}
    \end{document}
Oder wenn die Markierung für das Zufallsniveau über die Balken gezeichnet werden soll:
[![alt text][3]][3]
    \documentclass[a4paper,12pt]{article}
    \usepackage{pgfplotstable}% lädt pgfplots, tikz, etw
    \pgfplotsset{compat=1.16}% mindestens 1.9 und unbedingt vor allen anderen pgfplots Einstellungen setzen
setzen, alternativ geht auch compat=newest
    \pgfplotsset{
      percentage series/.style={
        table/y expr=(\thisrow{#1}/\thisrow{sum}*100),
        table/meta=#1,
        table/x expr=\coordindex,
      },
      percentage plot/.style={
        axis line style={draw=none},% Achsen nicht zeichnen
        tick pos=lower,% y-Ticks links, x-Ticks unten
        tick align=outside,% Ticks nach außen antragen,
        tick style={draw=none},% aber nicht zeichnen
        % Beschriftung in Balken:
        nodes near coords,
        point meta=explicit,
        every node near coord/.append style={text=black},
        % Bereich und Beschriftung der y-Achse:
        ymin=0,ymax=100,
        ytick={0,20,...,100},
        yticklabel=\pgfmathprintnumber{\tick}\,$\%$,
        % Gitterlinien für y-Ticks
        ymajorgrids=true,
        grid style={draw=none}
      }
    }
    \pgfplotstableread[col sep=comma,header=false]{
      TB,11,39
      FB,23,26
      IG,11,38
      SFB,12,38
      TB,6,15
      FB,12,9
      IG,11,8
      SFB,17,1
    }\data
    \pgfplotstablecreatecol[
      create col/expr={\thisrow{1} + \thisrow{2}}
    ]{sum}{\data}
    \begin{document}
    \begin{tikzpicture}
    \begin{axis}[
      ybar stacked,
      width=13cm,
      height=10cm,
      percentage plot,
      bar width=0.65cm,
      % Bereich und Beschriftung der x-Achse:
      xmin=-.5,xmax=7.5,
      xtick=data,
      xticklabels from table={\data}{[index]0},
      % zusätzliche Markierungen an x-Achse
      minor xtick={-.5,3.5,7.5},
      minor tick length=1.5cm,
      minor x tick style={draw,/pgfplots/every axis grid},
      % zusätzliche Beschriftungen an x-Achse
      extra x ticks={1.5,5.5},
      extra x tick labels={3-jährige, 4-jährige},
      extra x tick style={
        major tick length=\pgfkeysvalueof{/pgfplots/minor tick length},
        tick label style={anchor=south},
      },
      % zusätzliche Beschriftung an y-Achse
      extra y ticks={50},
      extra y tick style={%
        tick label style={red},
        grid style={red}
      },
      % Legende
      legend style={
        at={(0.5,\dimexpr-\pgfkeysvalueof{/pgfplots/minor tick length}-.5cm\relax)},
        anchor=north,
        legend columns=-2
    },
    ]
    % wenn Linie über den Balken sein soll, muss sie zuerst angegeben werden
    %\draw[red](current axis.west|-0,50)--(current axis.east|-0,50);
    % Balken
    \addplot table [percentage series=1] {\data};
    \addplot table [percentage series=2] {\data};
    %Legende
    \legend{\strut leere Box,\strut volle Box}
    \end{axis}
    \end{tikzpicture}
    \end{document}
  [1]: https://texwelt.de/upfiles/tw_ybarstacked.png
  [2]: https://texwelt.de/upfiles/tw_ybarstacked.png
  [3]: https://texwelt.de/upfiles/tw_ybarstacked1.png