да, видимо это баг, не работаю так же set_scale и set_rot
нашел один выход из данной ситуации, правда не оч красивый
var setpos = false
func _ready():
set_process(true)
connect("body_enter",self,"body_enter")
func _process(delta):
if setpos:
self.set_pos(pos)
setpos = false
func body_enter( body ):
setpos = true