Separating paging, sorting and filtering
For my money it would only be worthwhile having separate classes for Sorting/Filtering/Pagination if they were generic and able to work on multiple entity types. Even then they'd more likely be helper classes than a part of the top-level application interface.

If the current requirement of your application is purely to do what GetVehicleMakesWithPaginationAsync does then the proposed split into 3 classes doesn't strike me as justified. I'm more concerned about the nature/names of the parameters being passed. 

Why not make "sort" a boolean flag called "sortDescending"? And I'd rename search to namePrefix or something that makes it clearer. 

Lastly - is the AsQueryable() really needed?