Most (all?) Lua functions that return part of an entity are meant to resolve redirects, e.g. given Q123 is a redirect to Q321, mw.wikibase.getLabel('Q123') should return the label of Q321. Some of the redirect resolving functionality got introduced by accident and so the question of usage tracking did not come up. These methods currently track only the redirect but not the redirect target.
What should probably happen is that if the given entity is a redirect, track an all usage for the redirect (if anything at all changes about it, we need to know), and track the relevant aspect (= same as what would be tracked if it wasn't a redirect) of the target.
- usages for both the redirect and target are correctly tracked