This should work. Uses the camera cframe as well as the raw movement vector provided by the PlayerModule to get the real movement direction.
local Controller = require(game.Players.LocalPlayer.PlayerScripts:WaitForChild("PlayerModule")):GetControls()
local function GetInputDirection()
local Direction = workspace.CurrentCamera.CFrame:VectorToWorldSpace(Controller:GetMoveVector())
return if Direction.X ~= 0 or Direction.Z ~= 0 then Vector3.new(Direction.X, 0, Direction.Z).Unit else Vector3.zero
end