outputLabels based on UI props doesn't get refreshed until UNDO

This is a weird behavior I just encountered with my custom node that needs to control the number of its outputs depending on users data entered in the editor UI.

I've added outputs as well as outputLabels into the defaults so that I can set their values from oneditsave and the outputs one behaves as expected - the node changes the number of outputs properly.

However the outputLabels array that I wanted to match the # of outputs needed, doesn't change at all, even after a reload of the page - all output tooltips (on hover) show the old, default values, even after editing the node.
I've verified that the outputLabels array is properly set in oneditsave, however the node seems to be caching its output labels somewhere else and using the old set ... until I hit CTRL+Z (UNDO) which magically fixes the problem and all output labels now appear to be correct, even after subsequent reloads!

So UNDO seems to clear some kind of a cache, yet it doesn't actually undo my last edit, as if something has pushed an extra change into UNDO History ?

P.S. Discovered the UNDO thing by accident - trying to change some properties to force an update, but then wanted to revert these changes and noticed the labels being correct, but changes not being undone, had to hit UNDO again for that. When I tried to reproduce this process to describe it here in detail, I noticed that the UNDO actually does revert my changes but no longer fixes the output labels.
Deploying the flow and reloading, then making the change and an UNDO fixes output labels again and does actually UNDO my change too... So this appears to be some kind of an interaction between the loaded internal state vs the UI update of outputLabels and UNDO ?