Create your own dual month value with values to suit your sort order:
Let vBase = Num(Month(Today()));
If(Month(CalDate) < $(vBase),
Month(CalDate) + $(vBase) + 1,
Month(CalDate) - $(vBase) + 1 )) as SortedMonth
So June will have a value of 1, July 2, etc - sort the field numerically. And this will dynamically adjust when the month is July, August etc to keep the current month at the top of the heap.