$egArraysExpansionEscapeTemplates is currently not initialized correctly, I think because of JSON code:
"config": { "ArraysCompatibilityMode": { "description": "Set to false by default since version 2.0.", "value": false }, "ArraysExpansionEscapeTemplates": { "description": "Contains a key-value pair list of characters that should be replaced by a template or parser function call within array values included into an '#arrayprint'. By replacing these special characters before including the values into the string which is being expanded afterwards, array values can't distract the surrounding MW code. Otherwise the array values themselves would be parsed as well.\n\nThis has no effect in case $egArraysCompatibilityMode is set to false! If set to null, Arrays will jump to compatibility mode behavior on this, independently from $egArraysCompatibilityMode.", "value": [ { "=": "{{=}}" }, { "|": "{{!}}" }, { "{{": "{{((}}" }, { "}}": "{{))}}" } ] } },
The PHP code produces an associative array that matches how escapeForExpansion uses it. escapeForExpansion produces a PHP diagnostic. Oddly though I didn't see it until I had a page name with an apostrophe in it. So it's possible escapeForExpansion isn't always utilized, without doing more analysis. Note, escapeForExpansion is the only consumer of $egArraysExpansionEscapeTemplates at least inside of ExtArrays.php.
$egArraysExpansionEscapeTemplates = [ '=' => '{{=}}', '|' => '{{!}}', '{{' => '{{((}}', '}}' => '{{))}}' ];