My reading of the manual (the bit just before the section heading \"String access and modification by character\") is that you can do some fancy tricks with class constants and
Is the right solution here to concatenate?
Yes. The extended curly syntax doesn't support it.
Alternatively, you could export the list of constants to an array and use it (or export the constant to a single scalar variable name), but that's not really a good solution IMO.
Note that constants are available, as you can do this:
const k = 'foo';
$foo = 'bar';
echo "{${c::k}}"
giving you bar
, but that's not what you want.