I made a mod called Unofficial Bug Fixer that has a fix for the freecast bug. It works and no longer changes depending on equipping items etc.
new entry "TAD_FREECAST"
type "StatusData"
data "StatusType" "BOOST"
using "TADPOLE"
data "Passives" "Freecast_Remover"
data "StatusPropertyFlags" "DisableCombatlog;DisablePortraitIndicator;DisableOverhead;ApplyToDead;IgnoreResting"
new entry "TAD_Freecast"
type "PassiveData"
using "TAD_Freecast"
data "EnabledConditions" "not HasStatus('TAD_FREECAST', context.Source) and not Tagged('TADPOLE_POWERS_BLOCKED')"
data "EnabledContext" "OnStatusApplied;OnStatusRemoved"
new entry "Freecast_Remover"
type "PassiveData"
data "Properties" "IsHidden"
data "StatsFunctorContext" "OnLongRest"
data "StatsFunctors" "RemoveStatus(TAD_FREECAST)"
that in any txt .pak fixes the issues.