The only way I could see you doing that is to have a separate column to just store the dates for this month only. (and blanks on other records) (edit - needed a higher date, not a lower date)
Then you could sort the query on the this month column ASC and the other date column DESC
Hardcoded (with US dates) (see below - I didn't actually need to do this)
iif( [recorddate] >= #4/1/2022#, [recorddate], #12/31/2099#)
I didn't expect you to have dates for May onwards, so I changed the above to include a "between" date range
you would need to play around with the it to get the 4/1/22 to pick up the first of the current month each time, but you could change this to use a function to test for a desired date range, and then you wouldn't need to edit the query every month.
Strange. I found didn't need to use #04/01/2022# (US format) - it worked with #01/04/2022# (UK format). I thought I would need a specific date to be entered in US format.
Anyway, here's your database with an additional query to manipulate the sorting. Basically in a new column, use the real dates for the subrange you want, and make every other date a particular set date to force the sorting to work as you require. You can hide the sort columns, then all you see is your sorted [duedate] values.