Mysql query group by to be combined with order by desc
Perhaps this is what you are looking for?
SELECT Day(startDateTime) As &quot;day&quot;, 
       Month(startDateTime) As &quot;month&quot;,
       Sum(TIMESTAMPDIFF(SECOND, startDateTime, endDateTime ))
             As totalDuration,
       count(*) As trips, 
       sum(endMileage-startMileage) As totalMleage
FROM vehicleTrip                            
WHERE vehicleID = :vehicleID
  AND vehicleEndCodeID != 1
  AND startDateTime BETWEEN :startDateTime And :endDateTime                             
Group By 2, 1
ORDER BY 2 DESC, 1 DESC

(I'm assuming you want to sort by both month and day, latest first?)
Also consider
GROUP BY DATE(startDateTime)
ORDER BY DATE(startDateTime) DESC

More
!= is hard to optimize.  I don't see any way to avoid the 'filesort', but this index might help with performance:
INDEX(vehicleID, startDateTime)   -- in this order

However, since that is already the PRIMARY KEY, do not add this INDEX.
Starting over
Now that the CREATE TABLE has been added (and this is why I ask for such so often), here is how I would answer the question:
When possible, have the same ORDER BY as GROUP BY.  This allows the Optimizer to both at the same time.  In your question, you did not quite have the same stuff in each.
A variation on such is to change the direction:
GROUP BY a     , b
ORDER BY a DESC, b DESC

is also optimal.
(Not relevant here:)  In most cases, any mixture of ASC and DESC on the columns in ORDER BY prevents any optimization of the ORDER BY.
My suggestion of using DATE(..) instead of the two columns avoids the issue and solves the potential bug that will show up next January.  BUT...  It may run into the &quot;only full group by&quot; issues since DAY(..), MONTH(..) is not recognized as a subset of `DATE(..)
To avoid some of the above mess, I started by suggesting
GROUP BY 2     , 1
ORDER BY 2 DESC, 1 DESC

If this fails, I will pull a subquery out of my sleeve.