UPDATE:
With help from @Rich and @klincecum the answer is finally here. I had to update my code to match the specific “Grandzebu” code 128 font being installed by the Epicor cloud team. It is different from other Code 128 implementations in the characters used for start, end, switch, and also the checksum is off by 5 points.
According to Code 128 - Wikipedia there are three types that are accepted by a barcode reader: (Common/Uncommon/Barcodesoft) and this font uses the “Uncommon” set because of course it does. I have tested this in a real Epicor SSRS report ran against a cloud server. It does produce scannable barcodes!!!
I have the code, the font, and related information saved here: GitHub - A9G-Data-Droid/Barcode.Encoding: For Code 128 barcodes in SSRS reports
So that even if the Grandzebu font webpage goes down some day, the great denizens of epiusers can find the information they need to make their Code 128 SSRS reports.
NOTE: This contains enough information for someone familiar with the subject to get it working. This is not a step-by-step.