You might use subdepth. But I don't recommend it.
\documentclass{article}
\usepackage{amsmath}
\usepackage{subdepth}
\newcommand{\gt}{\mathrm{gt}}
\begin{document}
[
%%% the following two lines are just to show the alignment
\sbox0{$\displaystyle\mathbf{T}^{\gt}$}
\rlap{\vrule height \dimeval{\ht0+0.1pt} depth -\ht0 width 4cm}
%%%
\mathbf{T}^{\gt}=
{\mathbf{T}^{\gt}_1,\mathbf{T}^{\gt}_2,\ldots,\mathbf{T}^{\gt}_k}
]
\begin{center}
$%%% the following two lines are just to show the alignment
\sbox0{$\displaystyle\mathbf{T}^{\gt}$}
\rlap{\vrule height \dimeval{\ht0+0.1pt} depth -\ht0 width 4cm}
%%%
\mathbf{T}^{\gt}=
{\mathbf{T}^{\gt}_1,\mathbf{T}^{\gt}_2,\ldots,\mathbf{T}^{\gt}_k}
$\end{center}
\end{document}

Note that \mathrm gt is wrong under any respect. Also \operatorname isn't good in that context.
If you have just a couple of these constructs, it's easier to add a few \vphantom.
For several instances of the same structure,
\documentclass{article}
\usepackage{amsmath}
\ExplSyntaxOn
\NewDocumentCommand{\tuple}{mm}
{% #1 is the base symbol, #2 is the list of subscripts
#1\sb{\vphantom{#2}} = {
\seq_clear:N \l_tmpa_seq
\clist_map_inline:nn { #2 }
{
\str_if_eq:nnTF { ##1 } { \dots }
{
\seq_put_right:Nn \l_tmpa_seq { \dotsc }
}
{
\seq_put_right:Nn \l_tmpa_seq { #1\sb{##1\vphantom{#2}} }
}
}
\seq_use:Nn \l_tmpa_seq { , }
}
}
\newcommand{\gt}{\mathrm{gt}}
\begin{document}
[
\tuple{\mathbf{T}^{\gt}}{1,2,\dots,k}
]
\begin{center}
$\tuple{\mathbf{T}^{\gt}}{1,2,\dots,k}$
\end{center}
[
\tuple{A}{1,2,3} \quad \tuple{B}{1,2,3,\dots}
]
\end{document}

^{\mathrm gt}did you intend to get an upright g and italic t? the markup^{\mathrm {g}t}would be clearer or^{\mathrm{gt}}if you want an uprighttomitting braces from\mathrmisn't documented syntax at all – David Carlisle Feb 12 '24 at 10:41