I appreciate the conversation Lloyd.
What you're highlighting is the complications with FHIR in the vet space. Humans are rarely the actors in our domain outside of general record keeping. However, they are at the core at a many of our relational maps.
Our challenge is how to represent the non-acting human as a resource owning multiple Patients, and expressing that relationship in reverse when necessary (some systems even have multiple humans with shared ownership percentages).
Understandably, our data models are sufficiently different from the human space. We can certainly leverage extensions to FHIR resources to accomplish our goals.
From our perspective, having something akin to RelatedPatient and RelatedPerson as viable objects containable within a list . This would allow us to have Person.relatedPatient & Patient.relatedPerson and operate in all HTTP spaces with clarity. This does seem to breech your intent for uni-direction.
At this point, I'm not sure if there's no better way for us than to extend Patient to contain a list of Person references.