Spring Data Repositories aim to be technology-agnostic (CrudRepository) so that the caller doesn't have to deal with store-specific API. Introducing a method that accepts Query violates such a rule.
One could also argue that MongoRepository breaks this rule in the first place as it already defines methods that aren't available on CrudRepository and their claim is true. However, we don't want to follow that path of introducing additional store-specifics as at some time the interface would end as collection query methods.
Instead, we suggest using MongoTemplate directly. Alternatively, implement custom repository fragments that you add to one/multiple repositories in your code if you don't need to adhere to a strict technology separation.