I have several Component Blueprints and they only reset to CPP default values if the property in CDO was never marked “dirty” (modified).
As long I change the default value of CDO even if I change things in C++ later, the defaults in CDO remain their own because now the Component has its own “GeneratedClass”.
In general it’s my personal experience, unless you’re talking about hotReload which I don’t use at all.