It was decided that FPC stays consistent with constants for static arrays which are declared using
( ... ) since the introduction of such constants in TP. Delphi uses it like this for static array constants as well, but for dynamic arrays they went a different way, go figure.
However for e.g. open array constructors
[ ... ] is already used, thus using
[ ... ] for dynamic array constructors is a logical extension (and Delphi did it this way as well).