I already switched the code, but I'll re-try later today. For each of the tokens I tried I was getting 'Variable A-SVR (or other names not found' when I was trying to run the job manually.
What do you mean with "run manually"? If you run the code in a query window, it will not work, as this token replacement is something Agent does.
So unfortunately the message is defined as nvarchar(4000) in the sysjobhistory table and therefore it is truncated (and not sure why SSIS returns so much extra unhelpful verbiage).
It is usually best to redirect output to a file, which you do on the Advanced page of the job step definition. In theory, you could have the second step to read that file and mail it. That would better be a PowerShell step, I think.
Or you could opt to send the truncated error message, and add a line to refer to the full log file. (Of which the name is in sysjobsteps.)