Steering this back on track for a moment...
Can anyone confirm that this math is correct?
Yes, though it would be "Average Loudness" in LUFS, not "R128 True Average Level".
Again, the normalization target level and reference level have nothing in common. Nothing says anywhere in any standard that when you play back a normalized audio file it should play at a certain volume level. R128 is a volume consistency standard, not a volume playback standard. There is no standard for the volume level where the end user should be listening. The purpose of volume leveling is so that all audio sounds sounds like it is at the same volume regardless of the actual playback volume.
So if you calibrate your system to the "reference level" of 83dB, but it was calibrated using a tone played back at -20dB or -21dB, when volume leveling aligns everything to -23 LUFS, the level used for playback has now dropped to 80/81dB.
2-3dB is small, but still matters if you want a properly calibrated signal chain where the volume level in JRiver is absolute instead of relative.
By the way, when you analyze a 500-2500 Hz, -20 dBFS calibration file, it is at -3.7 LU. Pink noise has a different crest factor and different loudness than the content being analyzed to R128.
That is a very specific calibration tone, not general audio.
When you know that it is specifically a -20dB tone, you would bypass the analyzer.
If you plan to use Volume Leveling for playback, and the built-in JRiver tones generator for calibration, you should calibrate to 85dB if volume leveling is currently enabled, or 86dB with it disabled, not 83dB.