This exact scenario is new to me, unless he crossed the threshold during November then crossed back below it when the refund posted, with both occurring very close to the statement date. If that happened then the threshold detection could have triggered in November but still too late to post on the November statement.
Because there are so many ways this can go wrong and because Chase is unable and Southwest is unwilling to correct early posting of the bonus, we harp on delaying spending until January 1 to be safe. But this advice is rarely taken: FT'ers love to stride confidently up to the line. Every new year brings several of these sad stories. My condolences.