FILTER after the clauses works because the query optimizer knows how to reorder the clauses and to treat this filter as
VALUES.
However, it's better style to use VALUES and to always put first the "most known" things (clauses that have most bound parts).
Also, you don't need to use extra brackets unless you need OPTIONAL.
(In fact, in some repositories this will slow the query down because each bracketed pattern is treated as an independent subquery)
Adding some indentation, I'd write the query this way:
SELECT * {
VALUES ?Extended {aat:300261086 aat:300264550}
?ID a skos:Concept ;
skos:inScheme aat: ;
gvp:broaderExtended ?Extended ;
luc:term "place";
gvp:prefLabelGVP/xl:literalForm ?TermPrefLabel ;
gvp:parentStringAbbrev ?Parents ;
gvp:parentString ?ParentsFull ;