Can the choice of definition of morphisms for a slice category be justified categorically?

An example of a slice category $(\mathscr{C} \downarrow c)$ derived from some fixed object $c$ of some base category $\mathscr{C}$, would be one whose objects correspond to the $\mathscr{C}$-morphisms $f$ having $\mathrm{cod}(f) = c$, and whose morphisms $f \to g$ correspond to the $\mathscr{C}$-morphisms $h:\mathrm{dom}(f) \to \mathrm{dom}(g)$ such that $g \circ h = f$. 1

This construction is certainly reasonable enough, but in my experience Category Theory is all about giving such reasonable-looking constructions a rigorous justification in terms of some universality property or other.

Can such a justification be given for the standard definition of morphisms in a slice category?

1 As usual, a dual definition can be obtained by reversing the arrows.

For any categories $\mathscr{C}$ and $\mathscr{D}$, there is the functor category $\mathscr{C}^\mathscr{D}$ whose objects are functors $F:\mathscr{D}\to\mathscr{C}$ and whose morphisms are natural transformations $\alpha:F\Rightarrow G$ (though one has to be set-theoretically careful if $\mathscr{D}$ is not small).
Let $\mathcal{I}$ be the category $\{0\xrightarrow{t}1\}$, i.e. there are two objects $0$ and $1$, and one non-identity morphism $t:0\to 1$. Clearly, given a category $\mathscr{C}$, functors $F:\mathcal{I}\to\mathscr{C}$ correspond to $\mathscr{C}$-morphisms, with $0$ going to the domain and $1$ going to the codomain. A natural transformation $\alpha:F\Rightarrow G$ between two such functors $F$ and $G$ is just a choice of $\mathscr{C}$-morphisms $\alpha_0$ and $\alpha_1$ making this diagram commute: $$\require{AMScd} \begin{CD} F(0) @>\alpha_0>> G(0)\\ @VF(t)VV @VVG(t)V\\ F(1) @>>\alpha_1> G(1) \end{CD}$$
Thus the functor category $\mathscr{C}^{\mathcal{I}}$ is (isomorphic to) the category whose objects are all $\mathscr{C}$-morphisms $f:a\to b$, and for which a morphism $\alpha$ from $f:a\to b$ to $g:c\to d$ is a pair of morphisms $\alpha_0:a\to c$ and $\alpha_1:b\to d$ such that $$\require{AMScd} \begin{CD} a @>\alpha_0>> c\\ @VfVV @VVgV\\ b @>>\alpha_1> d \end{CD}$$ There is a natural functor $\mathrm{cod}:\mathscr{C}^\mathcal{I}\to\mathscr{C}$ that sends a $\mathscr{C}^\mathcal{I}$-object $f:a\to b$ to its codomain, the $\mathscr{C}$-object $\mathrm{cod}(f)=b$, and sends a $\mathscr{C}^\mathcal{I}$-morphism $(\alpha_0,\alpha_1):f\to g$ to the $\mathscr{C}$-morphism $\alpha_1:\mathrm{cod}(f)\to \mathrm{cod}(g)$.
Then the slice category $(\mathscr{C}\downarrow c)$ is just the subcategory of $\mathscr{C}^\mathcal{I}$ whose objects $f$ satisfy $\mathrm{cod}(f)=c$ and whose morphisms satisfy $\mathrm{cod}(a_0,a_1)=\mathrm{id}_c$. This should just be equivalent to taking the pullback of $$\require{AMScd} \begin{CD} & & \mathscr{C}^{\mathcal{I}}\\ & & @VV\mathrm{cod}V\\ \{c\circlearrowleft\mathrm{id}_c\} @>>\mathrm{inclusion}> \mathscr{C} \end{CD}$$ in the category of categories.
So ultimately, this is a long way of saying that the choice of morphisms in the slice category boils down to the way that a natural transformation is defined, since a slice category can be seen as a particular subcategory of $\mathscr{C}^\mathcal{I}$.
• An even slicker way is to use a pointed object in Cat $\mathcal{C}/c = {\langle \mathcal{C}, c \rangle }^{\langle \mathcal{I}, 1\rangle}$. This also explains why a slice category MUST have a point because it's really from the category of nonempty categories. Commented Aug 6, 2021 at 4:19