I also tested /var without the equals signs with same result.

Code:
alias testvar {
  var -s %var1 = test1
  var -s %var2 = test2
  var -s $+(%,var3.,%var2) = %var1
  echo -a $eval($+(%,var3.,%var2),2) <-- does not work
  echo -a ---
  set -ls %var1 test1
  set -ls %var2 test2
  set -ls $+(%,var3.,%var2) %var1
  echo -a $eval($+(%,var3.,%var2),2) <-- works
}


v6.21

~ Edit ~

Tested on all versions back to v5.91t with the same results.