TestCaseResult is not an
Artifact.
We can see that in the TestCaseResult endpoint definition:
<Please see attached file for image>

As you see above the TestCaseResult endpoint inherits from a WorkspaceDomainObject, not from Artifact. All other artifacts including TestCase, Defect, HierarchicalRequirement (user story) and more , they all inherit from the Artifact endpoint.
TestCaseResult is therefore kept as a separate field on the attachment object. If that attachment is linked with the artifact then the object's reference will be stored in the Artifact field. However, if the attachment is linked to a TestCaseResult, then the object reference will be stored under the TestCaseResult field instead.