There are now a number of OpenType math fonts (or font families) available with Greek sans serif letters in all combinations of upright/italic and regular/bold. Stix 2 is a prime example (although at the moment the non-bold characters are in the private use area). How difficult would it be to have the correct form of Greek characters appear alongside their Latin counterparts based on the surrounding command (those listed in the title)? In other words, \mathsf{a\alpha b\beta c\gamma} should display as 
I have come very close to accomplishing this based on the answers provided here: Sans serif and serif greek fonts in math expression. In fact, I used (unicode versions of) those methods to generate the above expression (Latin is Tex Gyre Heros and Greek is Stix Two, both OTF).
But once you get into more complicated expressions (for instance those involving exponents, say \mathsf{k^{\alpha}}), this fails. I don't expect this to be easy, but it seems like it would be worth the effort.
Note: I do not wish to use unicode-math because I am using mtpro2 for my main math font and am not yet ready to change that. I realize that this means that all of the commands in the title need to be defined (a given with unicode-math, not so otherwise).
What I have written so far is in package form. Since most of it consists of \Umathchardef commands, I am omitting most of those in what follows to keep it short. Also, I am only including the regular upright portion since the other three are analogous. At the moment, the command that takes both Latin and Greek is \sxgksfup. I can worry about renaming it later.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{Stix2OTFSansGreek}[07/07/2023]
\newfontfamily\StixTwoGkSfUp{STIXTwoMath-Regular.otf}[NFSSFamily=stixgksfup,Script=Math,Scale=MatchLowercase]
\DeclareSymbolFont{gksfup}{TU}{stixgksfup}{m}{n}
\newfontface\StixTwoGkSfIt{STIXTwoMath-Regular.otf}[NFSSFamily=stixgksfit,Script=Math,Scale=MatchLowercase]
\DeclareSymbolFont{gksfit}{TU}{stixgksfit}{m}{n}
\newfontface\StixTwoGkBfSfUp{STIXTwoMath-Regular.otf}[NFSSFamily=stixgkbfsfup,Script=Math,Scale=MatchLowercase]
\DeclareSymbolFont{gkbfsfup}{TU}{stixgkbfsfup}{m}{n}
\newfontface\StixTwoGkBfSfIt{STIXTwoMath-Regular.otf}[NFSSFamily=stixgkbfsfit,Script=Math,Scale=MatchLowercase]
\DeclareSymbolFont{gkbfsfit}{TU}{stixgkbfsfit}{m}{n}
\Umathchardef\rsualpha "0 \symgksfup "0E196
\Umathchardef\rsubeta "0 \symgksfup "0E197
\Umathchardef\rsugamma "0 \symgksfup "0E198
\Umathchardef\rsuvarTheta "0 \symgksfup "0E18E
\Umathchardef\rsunabla "0 \symgksfup "0E1F6
\def\ifiscseq#1{\ifcat$\expandafter@gobble\string#1$\expandafter@secondoftwo\else\expandafter@firstoftwo\fi}
\def\gk@@sfup#1#2@nil{%
\ifiscseq{#1}{\ifcsdef{rsu@xp@gobble\string#1}{\csname rsu@xp@gobble\string#1\endcsname}{#1}}{%not a cs
\mathsf{#1}}
\ifblank{#2}{\relax}{\gk@@sfup #2@nil}}
\DeclareRobustCommand*{\sxgksfup}[1]{\gk@@sfup#1@nil}
The errors generated by \sxgksfup{k^{\alpha}} are as follows.
! Missing { inserted.
<to be read again>
\egroup
l.866 \end{align*}
A left brace was mandatory here, so I've put one in.
You might want to delete and/or insert some corrections
so that I will find a matching right brace soon.
(If you're confused by all this, try typing `I}' now.)
! Missing } inserted.
<inserted text>
}
l.866 \end{align*}
I've put in what seems to be necessary to fix
the current column of the current alignment.
Try to go on, since this might almost work.
This is repeated many times. Of course, this may be unique to that particular expression. I'd like this to work with any expression.
Lastly, is it beneficial to modify the last two arguments to the \DeclareSymbolFont commands to {m}{n}, {m}{it}, {b}{n}, and {b}{it}, respectively?

...will generate error, and what example like\mathsf{k^{\alpha}}fails and what error do you get. – David Carlisle Jul 08 '23 at 12:41\famlike a clasisc tex\mathsfyou need to re-implementunicode-math\symsfwhich changes all the\Umathcodesettings for all the characters without changing font. – David Carlisle Jul 08 '23 at 12:57