Ed Hansberry , let me summarize a bit. All latest formula have exactly the same logic if ignore the difference do we offset from header of first row of the table
=UNIQUE(FILTER(D[Name],SUBTOTAL(3,OFFSET(D[Name], <array {0..TableSize} generator> ,0,1))))
Of course, most natural for new Excel
=UNIQUE(FILTER(D[Name],SUBTOTAL(3,OFFSET(D[Name], SEQUENCE(ROWS(D[Name]),,0) ,0,1))))
If we take into account table location traditional ROW() also works with
=UNIQUE(FILTER(D[Name],SUBTOTAL(3,OFFSET(D[Name], ROW(D[Name])-ROW(D[[#Headers],[Name]])-1 ,0,1))))
Another way to ignore offseting of the table location
=UNIQUE(FILTER(D[Name],SUBTOTAL(3,OFFSET(D[Name], MATCH(ROW(D[Name]),ROW(D[Name]),0)-1 ,0,1))))
But again, the logic of all formulas is the same.