I'm not a statistician, but I don't think calculating a moving average with too few data points is correct either. The "closest value" approach and your approach could both yield significantly skewed results. Using a stock chart as a familiar use case, the 50-day and 200-day moving average charts do not begin until there are a sufficient number of data points to calculate the average. With your solution, in Month 2 the 3-month and 6-month averages are the same calculation because only two data points are available. This does not seem right. Within Alteryx, I think the correct approach is to select 'NULL' for the 'Values for Rows that don't Exist' setting. This matches the behavior seen in the stock chart example.
I went through multiple iterations of Multi-Row Tools using IfElse statements with modifying each field for 3mo or 6mo. While this was the right idea, it was lengthy and inefficient. I took a look at what others were doing, and, unfortunately, got so stuck that I referenced the solution file. I have modified for a more efficient process and more like the solution.