I think so...
What is did is to also use the color by expression to customize the color of the point based on Top10
My color expression uses the 1st parameter of the arbg() function to establish 100% transparency for NON-top 10 cities
if( aggr(rank(sum(Sales)),City) <=10, argb(255,255,0,0),argb(0,125,125,125))
see if this helps.