As Skillmon says in the comments: \cite... commands are not expandable, so you can't (easily) perform xstring replacements on them. Instead I would try and let biblatex do the replacement directly.
One way to do that is by using the approach of my answer to Make specific author bold using biblatex (see also Highlight an author in bibliography using biblatex allowing bibliography style to format it). The idea is to obtain the unique name hash computed by Biber for the name you want to replace and then replace it with the initials in \mkbibcompletename.
Note that this particular implementation requires at least biblatex version 3.13 (2019-08-17).
You can request replacement of a name with \replacenamewith{<name>}{<replacement>}
\replacenamewith{Emma Sigfridsson}{ES}
The replacement can be styled by redefining \mkbinamereplacement.
Some more explanations can be found in the links above.
Warning, this document will overwrite the file <name of the main TeX file/\jobname>-replacenames.bib without warning. The name of this overwritten helper file can be changed by redefining \hlblx@bibfile@name.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber, style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\makeatletter
\def\hlblx@bibfile@name{\jobname -replacenames.bib}
\newwrite\hlblx@bibfile
\immediate\openout\hlblx@bibfile=\hlblx@bibfile@name
\newcounter{hlblx@name}
\setcounter{hlblx@name}{0}
\newcommand*{\hlblx@writenametobib}[2]{%
\stepcounter{hlblx@name}%
\edef\hlblx@tmp@nocite{%
\noexpand\AfterPreamble{%
\noexpand\setbox0\noexpand\vbox{%
\noexpand\hlblx@getmethehash{hlblx@name@\the\value{hlblx@name}}}}%
}%
\hlblx@tmp@nocite
\immediate\write\hlblx@bibfile{%
@misc{hlblx@name@\the\value{hlblx@name},
author = {\unexpanded{#1}}, %
note = {\unexpanded{#2}}, %
options = {dataonly=true},}%
}%
}
\AtEndDocument{%
\closeout\hlblx@bibfile}
\addbibresource{\hlblx@bibfile@name}
\newcommand*{\hlblx@hashextract@i}[1]{%
\csgdef{replacename@\thefield{fullhash}}{#1}}
\DeclareNameFormat{hlblx@hashextract}{%
\usefield{\hlblx@hashextract@i}{note}}
\DeclareCiteCommand{\hlblx@getmethehash}
{}
{\printnames[hlblx@hashextract][1-999]{author}}
{}
{}
\renewcommand*{\mkbibcompletename}[1]{%
\ifcsundef{replacename@\thefield{hash}}
{#1}
{\mkbinamereplacement{\csuse{replacename@\thefield{hash}}}}}
% {<name>}{<replacement>}
\newcommand*{\replacenamewith}{\hlblx@writenametobib}
\makeatother
% formatting for the replacement
\newcommand*{\mkbinamereplacement}[1]{\textbf{#1}}
% declare a replacement for a name
% this command can be used several times
\replacenamewith{Emma Sigfridsson}{ES}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}

\citeisn't completely expandable and defined\protected, so the short answer is, you can't do this by expanding\cite. But there are some realbiblatexexperts here, so maybe one of those has an idea. – Skillmon Dec 08 '19 at 00:25