Shift your formulas down one row:
=AVERAGE(FILTER(ARRAYFORMULA(IF($C4:$N4="", 0, $C4:$N4)), ($C$3:$N$3 < EOMONTH(TODAY(), -1) + 1), NOT(ISBLANK($C$3:$N$3))))
However: this too will break when you add additional columns like Group; the formula will have to shift more to the right to align with the new column that January will land in, etc…etc… I probably wouldn’t have suggested a pivot table if I’d known we would have to put the average formula outside of the pivot table, but we can push through completing it this way.
Andrew: please set up the pivot table with the additional columns you intended, then send us a screenshot, including the row numbers and column letters, down to the first row showing dollar values. Then we’ll send you the formula to paste.