Why MySQL does not provide stddev(distinct expression)?
Possible answer:  Standard Deviation is one of thousands of things that are so little used that it is not worth providing.

You can provide it, even in summary tables, by keeping

COUNT(*)
SUM(x)
SUM(x*x)


There are two stddev forumlas; they differ by only tiny amounts for large sets of data.  One of them can be reformulated using only those 3 aggregates.