Where do you call GetBoneLocation? It’s possible that, because it takes some time for the processor to move the bone, even tho it’s a microsecond, when you call get bone location, this is executed before the actual transform was applied, try using a delay before getting the final location of the bone to see if that’s the problem.
Hope that helps!