I just noticed this :
https://github.com/Gethe/wow-ui-sour...rent.lua#L1345
ProfessionsFrame_LoadUI()
Edit: Nevermind that is the same as preloading the Blizzard_Professions addon based on the line in the function code
UIParentLoadAddOn("Blizzard_Professions")
They call that first before using local currBaseProfessionInfo = C_TradeSkillUI.GetBaseProfessionInfo() and after you click the profession button.
And .. Sudden thought .. I just tried after PLAYER_LOGIN with that line and it seemed to work .. doing some new tests just to double check.
Edit 2 :
Never mind .. what I was seeing in my saved variables was the basic information and not the max skill values for my characters Herbalism and Alchemy.