Thank you both, that makes a lot of sense. I guess I was confused because I was thinking of "a link" as a reference, not a target. But if I understand now correctly, unless the link is anonymous, then "a link" is both a reference and a target. It sounds like the solution I'm looking for here is just making the link anonymous. Thanks you! Perhaps we could improve the error message? If the error message suggested using an anonymous link, that would have lead me down the right path, but I understand...
docutils-cli.py not available when installing via pip
Links with bracket references cause unexpected "Hyperlink target is not referenced" error