However, I’d also like to change the interior color of the arrowhead (not the rest of the FreeText) using something like SetInteriorColor(). Is this possible?
Unfortunately SetInteriorColor specifies both the arrow head and text box background colors.
You could use two annots, a regular free text, and an arrow to separate them, or generate your own appearance. The latter of course is much more difficult. Also, neither would work if you expect people to modify the annotation(s), unless you know they are doing it in your app, in which case you would have more control over this.