I made it work with data[GroupBy[#race &]]
.
I got to the next step with
Query[GroupBy[#race &], CountsBy[#birthplace &]@*Values][data]
Now I just need to sort by the output from the aggregate function.
I figured out the sort step with
Query[GroupBy[#race &], Sort@*CountsBy[#birthplace &]@*Values][data]
in descending order and for ascending order I can use
Query[GroupBy[#race &],
ReverseSort@*CountsBy[#birthplace &]@*Values][data]
I applied this to some data.