Using XRGrabInteractable with VelocityTracking for a door (or any object with a Joint)

We developed a custom VR Grabbable system that we are looking to convert to XR Toolkit. One common use case for our system is to configure a door that swings on a Hinge Joint. Our system uses a similar approach to XR Toolkit in that it computes the velocity based on the delta of the hand position and object position, but one critical difference is that we compute the delta between the hand position and the point at which the object was grabbed. This means that the door then tracks the hand properly as though you are holding the handle. The XR Grab Interactable seems to use the delta between the hand position and the transform position:

                    var positionDelta = m_AttachPointCompatibilityMode == AttachPointCompatibilityMode.Default
                        ? m_TargetPose.position - transform.position
                        : m_TargetPose.position - m_Rigidbody.worldCenterOfMass;
                    var velocity = positionDelta / deltaTime;
                    m_Rigidbody.velocity += (velocity * m_VelocityScale);

This causes the door to swing pretty wildly and largely uncontrollably. At this stage is seems like our only option would be to override ProcessInteractable to implement our existing logic for this use case, but I wanted to check whether there are any other options to handle this case.

Bumping this–we work around it with some hacky work to return a transform from GetAttachTransform that we update to keep the calculation above working properly. This seems like a bug, but is this the expected behaviour for some reason?