Full support for analog movement within CharacterMovementComponent (and FloatingPawnMovement) didn’t make it to release, but is in the most recent code and should be in the next release.
It looks like you’re setting things up correctly, just that internally the code in UCharacterMovementComponent::ScaleInputAcceleration() was normalizing the input vector. You may be able to work around it for now by scaling the max speed and acceleration based on the final magnitude of the input vector.
On a keyboard there isn’t an analog value (it is just 0 or 1), so in that case you might want to look at changing the acceleration to be lower, or implement another way of controlling the max speed (such as holding shift to increase it for sprinting).