No tracking with Microtype + russian babel + mathdesign

I'm trying to compile the following code based on "more realistic example" from microtype.sty manual, Sect. 5.3. It works without babel (or with, say, french option) or without mathdesign. But with both them present, I get equal tracking for all 3 input lines.

How can it be fixed?

\documentclass[10pt]{book}
\usepackage[russian]{babel}
\usepackage[T2A]{fontenc}

\usepackage[mdbch,expert]{mathdesign}

\usepackage[babel=true,tracking=true]{microtype}
\DeclareMicrotypeSet*[tracking]{my}
{ encoding = *,
size     = {-small,Large-},
font     = */*/*/sc/* }
\SetTracking[ no ligatures = f ]{ encoding = *, shape = sc}{ 100 }
\SetTracking{ encoding = *, size = -small }{  800 }
\SetTracking{ encoding = *, size = Large-  }{ -100 }

\begin{document}

\textsc{this is a test}  $abcd$

{\footnotesize this is a test}

{\Large this is a test}

\end{document}
-

The Charter font provided by mathdesign is not available in T2A encoding; so the test you try to do does not work, probably because microtype gets confused with the font substitutions.

Without the expert option and with a different language not using the cyrillic script, the result is what's expected.

A tip: always put the call of fontenc before loading babel, particularly when using cyrillic encodings.

As you point out in the comment there's also a glitch with mathdesign that declares the T1 encoding. However, with Russian babel the encoding active after \begin{document} is correctly T2A. However a loading order such as

\usepackage[<options>]{mathdesign}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}

is recommended, so that the T2A encoding, which is specified last, is the default encoding. Always call inputenc after fontenc.

-