Oh, that makes total sense now. The screw uses RayCast2D to check for walls, and raycasts only update their state during physics frames. What ends up happening is the screw gets spawned, immediately receives input on first frame, checks for a wall, finds none (because raycast has not been updated yet), and moves into the wall. Should be fixable by a force updating raycasts.
Big thanks for the testing, appreciate it!