Kojack
Thanks for replying! When I re-checked the SpringArm3d node and its attached script, I found something else: It turns out not the SpringArm3d was the problem, but the fact that I used
if event is InputEventMouseMotion:
rotate_y(-event.relative.x * mouse_sensitivity)
in two scripts in the same scene: One for orbiting the camera with a look_at constraint aimed at the player, the other for the SpringArm3d.
I have merged these scripts and updated the node paths, and now everything (kind of) behaves as it should.
I still don't understand why having the same Input event polled in two scripts at the same time generated a problem (if it did at all, at this point I'm just confused to be honest).