Jonathan,
I think you may have cracked it there, I suspected mine was too complicated.
With one slight modification to your where clause to account for different DATEFIRST settings:
WHERE
(@@DATEFIRST + DATEPART(WEEKDAY, NextDay)) %7 = @DesiredDay
AND
DAY(NextDay) <= 7
Nice one! 😎