FText variables are saved with a Package Namespace stored inside them, that keeps track of the package they were created for. This allows the translation key to stay consistent over time. Blueprint-added variables and literal pins work correctly.
Function input parameter package namespaces are not correctly updated when a blueprint is duplicated, so you can end up with two identical FText keys with different values. This can cause data loss when changing the original package's value. I found this will using the blueprint diff tool to compare duplicated packages
Local variables are saved without a package namespace, which means every time you change the local variable it gets a unique key without package information, which can make it hard to translate
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-74609 in the post.