> Unfortunately, the image of a functor might not be closed under composition like that.
In my "proof", I already assume that the functor is indeed injective on objects. The StackExchange question being referenced shows precisely why this is necessary, and I acknowledge it in my post. What I am confused about is why it must also be [faithful](https://ncatlab.org/nlab/show/faithful+functor), i.e. injective on hom-sets. This is not addressed by the StackExchange example.
To quote [the nLab](https://ncatlab.org/nlab/show/subcategory):
> Just as subsets of a set \\(X\\) can be identified with isomorphism classes of [monic](https://ncatlab.org/nlab/show/monomorphism) functions into \\(X\\), subcategories of a category \\(C\\) can be identified with isomorphism classes of monic functors into \\(C\\). A functor is easily verified to be monic iff it is [faithful](https://ncatlab.org/nlab/show/faithful+functor) and injective on objects.