I found my mistake. Even though the default value for calcMode
is linear
—which is what I want—I didn't read far enough into the spec to see that it's a different default value for <animateMotion>
elements.
Adding an explicit calcMode="linear"
fixes the problem.