Two thirds of that plan works and the last third does not exist. Worth knowing before you build on it.
WORKS: generate the seed elsewhere, import to Coldcard.
This sidesteps the bug completely. The vulnerability is in seed GENERATION on the device — if Coldcard never generates it, the broken code path is never involved. Your reasoning is right: the signing, the airgap, the PSBT handling, the secure element are not implicated in this at all.
WORKS: add a BIP-39 passphrase.
That applies to any seed regardless of origin. The seed is PBKDF2(mnemonic, "mnemonic"+passphrase), so a passphrase works identically on an imported seed. Just remember its strength is only the entropy YOU put in it, and losing it is total loss with no recovery.
DOES NOT EXIST: rolling dice on top of an imported seed.
There is no "add dice to this existing seed" function, and there cannot be one. Once you have the words, the seed is fully determined by the words plus the passphrase — that is what BIP-39 means. Dice on Coldcard are consumed during seed CREATION, either mixed into the generated entropy or, on the dice-only path, hashed alone to produce the seed. Both are generation-time. Afterwards there is nothing left to mix into.
So the honest version of your plan is: dice OR external generation, not both stacked. Pick whichever you trust more.
IF YOU WANT DICE, use the dice-only path on fixed firmware — "Import Existing > Dice Rolls". It hashes your roll sequence and never touches the device generator. 50 rolls clears this bug; 99 gives you a full 256-bit seed independent of the device entirely.
IF YOU WANT EXTERNAL GENERATION, your instinct is sound and the thing to be careful about is the OTHER device. You have moved the trust, not removed it — now the question is whether that generator is any good, and you get no dice to backstop it. Verify the seed reproduces the same fingerprint on both devices before funding, and send a small test amount first.
Either path is fine. Just do not plan around a dice-on-top step that the device will not offer you, and then discover the gap halfway through a migration you are doing under time pressure.