You don't have to use root motion and the Animator.MatchTarget() function for off mesh links. You can also write your own custom solution for moving the agent from the off mesh link's start to the off mesh link's end position. You could, for instance, teleport the character with a cool effect.