I never understand when to used apna/apni/apne vs uska/uski/uske. This seems like the perfect time to use apni... why is it not used here? Is it totally arbitrary or is it actually according to some grammar rule?
From my understanding, अपना/नी/ने is used to refer to something belonging to the subject of the sentence. For example वह अपना केला खाता है = he eats his (own) banana. वह is the subject of the sentence, and as the banana belongs to him we need to use अपना.
However, in the sentence we are discussing, the subject is "his sister", not "he", so अपनी shouldn't be used to translate "his". If instead the sentence would have been "he teaches his sister", then "his sister" would have been translated as अपनी बहन because the subject is "he" and we're talking about his (the subject's) sister.