Two of the four string interpolation syntaxes are deprecated, and they are the two that are ambiguous to read.
$a = ['k' => 'v'];
"$a[k]" // fine — unquoted key inside a simple variable
"{$a['k']}" // fine — the braced form, which is unambiguous
"${a}" // deprecated in 8.2
"${a['k']}" // deprecated in 8.2
// the deprecated forms also permit variable variables:
// "${$name}" — which is why they are ambiguous
The dollar-brace form is the one that makes a template unreadable, because ${$name} and ${name} mean entirely different things and differ by one character. Deprecating it removes a parse ambiguity rather than a feature; every use has a direct equivalent in the braced form. Anything writing shell or JavaScript inside a PHP double-quoted string hits this constantly, since both languages use the same syntax for something else.