Not really solved. There is certainly an odd interaction between the esp homie framework and Node-RED's mqtt-in node. I just no longer think it important enough to worry about for now.
At least part of the issue is what Christian mentioned about the default Mosquitto settings and using QoS=0 for retained messages. Something that accounts for some other previous issues I had (months ago) that was causing some of my lighting to go wonk. I "fixed" that by adjusting my MQTT output settings in Node-RED.
Unfortunately, I just don't have any spare time or capacity to work through the many test cases logically in order to track down whether or not there is a bug or just my misunderstanding of how things should be working. Too many variables.
I can work around the issue so there is little point in continuing this thread. However, if others want to do any more testing, I'd be happy for it to be reopened. It is just that the other thread is, I believe, a lot more important.