This behavior difference was discovered between ICU4C and ICU4J.
Sample code, ICU4C:
Consensus opinion: we should use the unknown currency "XXX", like ICU4J and JDK are already doing in the ISO code format, with the following output:
The plural long-name string, "unknown currency", comes from locale data.
Follow up with CLDR to add the currency symbol.
In addition, one more behavior difference was discovered.
ICU4C sample code:
Consensus opinion: Since we should apply the default currency when no currency is set, as stated in row 10, we should also apply XXX's rounding rules, which are a fixed two fraction digits.