Transaction serialization requires that witness-empty transactions have empty witness vectors for inputs and outputs. While fixing the OOB access in VerifyAmounts we accidentally softforked out the ability to have issuances in transactions with no other witness data. In real-life usage this is fairly unlikely, since any blinding, any segwit signatures, and any peg-in data make this not true.
related: #472