Additional update:
I tested further and confirmed that this rendering issue only occurs on Firefox running the Gecko engine (Android and Desktop). On Firefox for iPadOS/iOS (which uses WebKit), the Cardo font renders Vietnamese diacritic marks perfectly without any glitches.
This confirms the issue is specifically isolated to Cardo font rendering under Gecko.