Nope, the parens are not doing anything there. The article you link to explains why:
The simplest way to differentiate the two is to look at the placement of the type specifiers. If a type specifier immediately follows a left parenthesis, that parenthesis is the start of a function descriptor and the type is part of a function parameter. Empty parentheses also signify a function. Otherwise the parentheses are grouping (perhaps unnecessarily, but it's better to have too many than too few) the expression.
Also note that "array of external ints" and "external array of ints" are the exact same thing -- the "extern-ness" always goes to the object being declared, which in this case is an array. Personally I think the first way to describe it is technically inaccurate and simply confusing.