get_collision_point returns a global position, if I recall correctly. I think you need to use $CircleShadow.global_position = $RayCast.get_collision_point() for 2D and $CircleShadow.global_transform.origin = $RayCast.get_collision_point()for 3D. That should fix the issue.