Small changes were needed:
Debug.Log($“Move: Input = {stateMachine.InputReader.MovementValue}. Movement = {movement}. Speed = {stateMachine.FreeLookMovementSpeed} Controller.Move({movement * stateMachine.FreeLookMovementSpeed * deltaTime})”);
The new Debug.Log did work and at first showed all 0, but I added the script to a new character (cube) and it worked (cube moved). Turns out the problem is the animator. Once I disabled it, the original player character moved (in a T pose). When enabling root motion on animator the character moves while having an animation.
Added the player character under a new empty object that has all the code and character controller. Kept the animator on the original player with root motion disabled.