Obtener una "y" antes del último bloque/elemento en \cite en BibLaTeX si los elementos están comprimidos

Obtener una "y" antes del último bloque/elemento en \cite en BibLaTeX si los elementos están comprimidos

Usando BibLaTeX, me gustaría crear un \textcitecomando basado en el estilo de compilación numérica que en lugar de mostrar [1-3, 5] muestre Refs. 1-3 y 5, y en lugar de mostrar [1-3, 5-7] da las Refs. 1-3 y 5-7.

Pude lograr lo primero, pero no lo segundo con el siguiente MWE:

\documentclass{article}
\usepackage{filecontents}
\usepackage[style=numeric-comp]{biblatex}

% Cite without square brackets - with Ref./Refs.
\NewBibliographyString{refname}
\NewBibliographyString{refsname}
\DefineBibliographyStrings{english}{%
    refname = {Ref\adddot},
    refsname = {Refs\adddot}
}
\DeclareCiteCommand{\textcite}
{%
    \ifnum\thecitetotal=1
    \bibstring{refname}%
    \else%
    \bibstring{refsname}%
    \fi%
    \addnbspace%
    \usebibmacro{cite:init}%
    \usebibmacro{prenote}%
    \renewcommand*{\multicitedelim}{\iflastcitekey{\addspace\bibstring{and}\addspace}{\addcomma\addspace}}%
}
{\usebibmacro{citeindex}\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}\usebibmacro{postnote}}


\begin{filecontents*}{\jobname.bib}
@book{A,
    title = {A Bla},
    author = {A Foo}
}

@book{B,
    title = {B Bla},
    author = {B Foo}
}

@book{C,
    title = {C Bla},
    author = {C Foo}
}

@book{D,
    title = {D Bla},
    author = {D Foo}
}

@book{E,
    title = {E Bla},
    author = {E Foo}
}

@book{F,
    title = {F Bla},
    author = {F Foo}
}

@book{G,
    title = {G Bla},
    author = {G Foo}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
    \nocite{*}
    
    Cite commands should stay like this (i.e. no and): \cite{A,B,C,E,F,G}

    These textcites work: \textcite{A,C,E,G} ; \textcite{A,B,C,E}
    
    This textcite misses the final and: \textcite{A,C,E,F,G}
    
    This textcite has two ands: \textcite{A,C,D,F}
    
    \printbibliography
\end{document}

Salida del MWE:

Salida del MWE

Creo que el problema es que cuando se comprimen las citas, la última clave de cita está dentro de un intervalo comprimido y, por lo tanto, no se imprime ningún delimitador de lista de citas. ¿Existe alguna prueba que pueda utilizar para comprobar cuál es el último delimitador realmente impreso, incluso si no es antes de la última clave de cita? Además, tenga en cuenta que en el último ejemplo hay de alguna manera dos 'y'. Creo que el problema nuevamente es que \iflastcitekeyrealmente no funciona como se esperaba.

información relacionada