Looking at the code, I think it intentionally interprets zero as "missing data". See for example the stanza at formatting.c:4650ff where tm_mon and tm_mday can be backfilled from a DDD field.
I'm disinclined to change the behavior around this; you're far more likely to get complaints than kudos.
If we are not going to change the behaviour, imo, we should
atleast add a test case to depict this scenario and comment
that says this is expected behaviour according to the community.