It's sadly not possible, or at least I have no idea how to do this. The main issue is that in the case of SelectMany(), the source for the Aggregate (count in this case) is a join / query. I first thought the correlation relation of the left side was usable as it's what's tying the query to the root type, but that's not the case: the correlation relation isn't usable in this case, as the correlation is implicit: it's due to the usage of 'c' in the selectmany source that the query is correlated to the outer query, which also fetches customer rows.
And here lies the problem: handling the aggregate, there's no information about the outer query: I have the join, the projection on it and the c.Orders correlation relation but no idea how to tie 'c' to the outer query as I don't know the alias of the outer query, so I can't create the correlation predicate.
With the example I gave with Count() on a navigator it works because the correlation relationship is removed from the join and is used as a where predicate, which is a different situation than this query, which somehow has to tie inner with outer over something that's not there...
I don't even how to fix it with a hack, as all there is is a relationship (in this case Customer - Order) and that somehow has to tell me that the 'Customer' part of that relationship is also the type of the outer query, but that's unknown at that level.
It pains me to say this, but I can't fix this. Sorry.