the fact that fixed_update(self, dt) is being called regardless of the state of physics.use_fixed_timestep seems correct to me because it is conceptually unrelated to physics. one might want to use it for non-physics related stuff as well, like for netcode or solving simulation with iterative methods.
it’s just that the manual (Writing game logic in scripts) and the autogenerated comment when creating a script says otherwise.
so I think it’s just the outdated documentation but thought I’d ask to be sure