Да, Вы правы, в Дельфе это открытый массив, передаваемый по значению.
Вот строчка из документации:
The syntax of open array parameters resembles that of dynamic array types, but they do not mean the same thing.

Вот он, еще один пример путаницы в Object Pascal, когда разные вещи называются абсолютно одинаково.

Объявления
TYPE A: array of integer;
PROCEDURE P(a: A)
и
PROCEDURE p(a: array of integer) должны быть абсолютно идентичны, просто в одном случае тип объявлен явно, а в другом - по месту... На самом деле "две большие разницы"