I think it's best to leave that up to the UA. For example, I can see that OpenXR has an extension for hand joint velocity and I suspect that the tracking method (ie: optical vs sensors) will make a big difference in what velocities are available. I wouldn't want to prematurely prevent future advances in tracking.
If we're concerned about developers needing to know what spaces can and can't report velocities, it would probably be best to report that as a property of the space (hasLinearVelocity/hasAngularVelocity booleans, maybe?) but I don't know that we can do that consistently and reliably on all platforms, and I believe even spaces that CAN report velocities may have moments where it lapses, such after the first frame or two of tracking (depending on the tracking method). As a result, developers will need to be able to handle null velocities no matter what.
We should probably just leave it as "If the user agent can't populate this, it's allowed to return null."