When a blueprint variable is not set to Instance Editable, its value gets reset at runtime. This seems to occur because the variable OriginalCannonTransform seems to get reset/nullified after being set correctly at BeginPlay.
This issue was reported and tested in 4.19.2 (CL-4033788). This was reproduced in 4.20.2 (CL-4302132) and Main 4.21 (CL-4338396)
Results: The variable OriginalCannonTransform is getting reset to 0 when the variable isn't set to Instance Editable
Expected: The variable OriginalCannonTransform doesn't get rest.
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-63750 in the post.