Stai combinando l'inclusione filtrata con il filtraggio delle entità.
Includi filtrati
.Include(m => m.Roles.Where(r => roles.Contains(r.Name)))
filtra semplicemente gli elementi nella relativa raccolta (ruoli di menu in questo caso).
Per filtrare il set di entità (menu in questo caso), è necessario sostituirlo con il solito Where
oparator, che per il filtraggio desiderato sarà
.Where(m => m.Roles.Any(r => roles.Contains(r.Name)))