Character (humanoid) move speed differs from source animation

I’ve been attempting to work around a speed issue in Unity, which led me to this simple to test, yet confusing issue. I have a walk animation that travels at 1.196 m/s. If I monitor the travel speed in game, I’ve discovered it’s moving at 1.28 m/s. I would expect to see foot sliding at this point, but the feet look rock solid. If I attempt to force the movement vector magnitude to the correct speed, then the feet slip. I can’t explain/understand how this is happening. If the animation was mapped from one character to another, then I could see it being some character height compensation, but it’s the same character in the rig and animation. I’m totally lost.

Here’s my code for how I’m testing this

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move : MonoBehaviour
{
    public Animator animator;
    public CharacterController characterController;
    public bool useTargetParam = false;
    private Vector3 _rootMotionPositionDelta = Vector3.zero;
    private Quaternion _rootMotionRotationDelta = Quaternion.identity;
    private float _smoothedRootSpeed = 0f;
    private float _targetSpeed = 0f;
    private float _outputSpeed = 0f;


    // Update is called once per frame
    void Update()
    {
        _smoothedRootSpeed = Mathf.Lerp(_smoothedRootSpeed, _rootMotionPositionDelta.magnitude / Time.deltaTime, 1 - Mathf.Exp(-2 * Time.deltaTime));
        animator.SetFloat("Root Speed", _smoothedRootSpeed);

        Vector3 movement = !useTargetParam ? _rootMotionPositionDelta : _rootMotionPositionDelta.normalized * (_targetSpeed);
        characterController.Move(movement);

        _outputSpeed = Mathf.Lerp(_outputSpeed, movement.magnitude / Time.deltaTime, 1 - Mathf.Exp(-2 * Time.deltaTime));
        animator.SetFloat("Output Speed", _outputSpeed);
        Reset();
    }

    public void Reset()
    {
        //// Reset root motion deltas
        _rootMotionPositionDelta = Vector3.zero;
        _rootMotionRotationDelta = Quaternion.identity;
        _targetSpeed = 0f;
    }


    //When this callback exists, the animator component root controller option will be overridden with a statement of
    //"Handled by script".  How cool is that!
    private void OnAnimatorMove()
    {
        _rootMotionPositionDelta += animator.deltaPosition;
        _rootMotionRotationDelta = animator.deltaRotation * _rootMotionRotationDelta;
        _targetSpeed += animator.GetFloat("Target Speed") * Time.deltaTime;
    }
}

I decided to try and rule out the humanoid character as being part of the issue and it does indeed look to be part of the issue. When an animation is marked as generic the reported speed matches Maya. When I switch the rig to a humanoid it reports the animation as slower, but it still moves through space at the proper speed. Why is the humanoid reporting a different speed then playing another at runtime?