fontdef.dtx defines the various series, family and style defaults using \newcommand, e.g.

\newcommand\itdefault{it}
\newcommand\sldefault{sl}
\newcommand\scdefault{sc}
\newcommand\updefault{up} 

This gives defines them as \long However, the commands \fontfamily, \fontseries and \fontshape define \f@family, \f@series and \f@shape using \edef which maked the resulting values not \long

This means that code that would do something like, e.g., \ifx\f@shape\itdefaultā€¦\fi will not work as expected.

The simplest fix would be to use the starred form of \newcommand for setting the various \XXdefault values. I would imagine that this should not break anything

-dh