Well, it works automagically in SynthDef context. To explain slightly more, it turned out that
Ndef(\jc, Ndef(\ar2))
has exactly the same call chain from a point onwards as if you had written
Ndef(\jc, { Ndef(\ar2).value })
Which means the latter is a function source
to be eval’d in ProxySynthDef context, which due to the “magic” of BusPlug.value
does
Ndef(\jc, { Ndef(\ar2).ar })
So, even the deceptively simple “data copy” Ndef(\jc, Ndef(\ar2))
is treated as “identity math expression” and actually implemented by compiling a new ProxySynthDef that does the copying.