I had trouble following your proof because it wasn't always clear what you were doing as you skipped some steps. Also, you sometimes introduced certain values or limitations well before they were used, making it seem they are needed earlier when they're not. In addition, there were some statements using $x$ which were only applicable to certain values or ranges instead of all of them, which could also be somewhat confusing. Nonetheless, although your proof might not be particularly pretty or elegant, it seems to all be correct.
I'm not sure what you consider to be a "canonical" answer, but I thought I would basically repeat your proof method here, filling in some details to possibly help make it easier for other people to follow along & also confirm it works.
First, the relation you're provided with is that
$$f(x + y) \leq yf(x) + f(f(x)) \tag{1}\label{eq1A}$$
for all real $x$ and $y$. You are trying to prove that $f(x) = 0$ for all $x \le 0$.
You are first trying to prove that $f(0) = 0$ by contradiction, where you assume it's either positive or negative, in the $2$ cases below.
$\color{black}{\large\text{Case} \thinspace 1:}$ $f(0) \gt 0$
First, have $\varepsilon$ be any real number satisfying
$$\varepsilon \gt \frac{f(f(0))}{f(0)} \implies \varepsilon f(0) \gt f(f(0)) \tag{2}\label{eq2A}$$
Next, consider a restricted region of $x_1$ where
$$x_1 \lt -\frac{\varepsilon + f(f(0))}{f(0)} \implies x_1 f(0) \lt -\varepsilon - f(f(0)) \tag{3}\label{eq3A}$$
Choosing $x = 0$ and $y = x$ in \eqref{eq1A} gives
$$f(x) \leq xf(0) + f(f(0)) \tag{4}\label{eq4A}$$
Using \eqref{eq3A} in \eqref{eq4A} with $x = x_1$ gives
$$f(x_1) \lt (-\varepsilon - f(f(0))) + f(f(0)) = -\varepsilon \tag{5}\label{eq5A}$$
Choosing $x = 0$ and $y = f(x)$ in \eqref{eq1A} gives
$$f(f(x)) \leq f(x)f(0) + f(f(0)) \tag{6}\label{eq6A}$$
Multiplying both sides of \eqref{eq5A} by $f(0)$, and using \eqref{eq2A}, gives
$$f(x_1)f(0) \lt -\varepsilon f(0) \lt -f(f(0)) \implies f(x_1)f(0) + f(f(0)) \lt 0 \tag{7}\label{eq7A}$$
Using this in \eqref{eq6A} with $x = x_1$ gives
$$f(f(x_1)) \lt 0 \tag{8}\label{eq8A}$$
From this case's assumption that $f(0) \gt 0$, plus using $x = y = 0$ in \eqref{eq1A} gives
$$0 \lt f(0) \le f(f(0)) \tag{9}\label{eq9A}$$
Leaving $x$ as is and using $y = -x$ in \eqref{eq1A} gives
$$f(0) \leq -xf(x) + f(f(x)) \tag{10}\label{eq10A}$$
From \eqref{eq9A}, you get in \eqref{eq2A} that $\varepsilon \gt 0$. Thus, from \eqref{eq5A}, you have $f(x_1) \lt 0$. Also, from \eqref{eq3A}, you have $x_1 \lt 0$. This means $x_1f(x_1) \gt 0 \implies -x_1f(x_1) \lt 0$. This, along with \eqref{eq8A} gives in \eqref{eq10A} using $x = x_1$ that
$$f(0) \lt 0 \tag{11}\label{eq11A}$$
This contradicts the assumption for the case, so it shows it can't be true.
$\color{black}{\large\text{Case} \thinspace 2:}$ $-\alpha \lt f(0) \lt 0$, where $\alpha\in\mathbb{R^+}.$
Leaving $x$ as is and using $y = 0$ in \eqref{eq1A} gives
$$f(x) \leq f(f(x)) \tag{12}\label{eq12A}$$
Using $x = f(x)$ in \eqref{eq4A} gives
$$f(f(x)) \leq f(x)f(0) + f(f(0)) \tag{13}\label{eq13A}$$
Using this with \eqref{eq12A} gives
$$f(x) \leq f(x)f(0) + f(f(0)) \implies f(x)(1 - f(0)) \leq f(f(0)) \tag{14}\label{eq14A}$$
Using $x = f(0)$ in \eqref{eq14A} gives
$$\begin{equation}\begin{aligned}
f(f(0))(1 - f(0)) & \leq f(f(0)) \\
f(f(0)) - f(0)f(f(0)) & \leq f(f(0)) \\
- f(0)f(f(0)) & \leq 0 \\
f(f(0)) & \leq 0
\end{aligned}\end{equation}\tag{15}\label{eq15A}$$
Using this, along with $1 - f(0) \gt 0$ in \eqref{eq14A} gives
$$f(x) \leq 0 \implies f(f(x)) \leq 0 \tag{16}\label{eq16A}$$
where $x = f(x)$ was used to get the implied part. Note if $f(x) = 0$ for any $x$, using that in \eqref{eq12A} gives $0 \le f(0)$, which can't be, so \eqref{eq16A} shows $f(x) \lt 0$.
In \eqref{eq1A}, keep $x$ as is and have $y = z - x$ to get
$$f(z) \leq (z - x)f(x) + f(f(x)) \tag{17}\label{eq17A}$$
Have $z = f(x)$ to get
$$f(f(x)) \leq (f(x) - x)f(x) + f(f(x)) \implies (f(x) - x)f(x) \geq 0 \tag{18}\label{eq18A}$$
Since $f(x) \lt 0$, this means
$$f(x) - x \le 0 \implies f(x) \le x \tag{19}\label{eq19A}$$
If now consider the restricted region of
$$x_2 \lt -\sqrt{\alpha} \tag{20}\label{eq20A}$$
then with $x = x_2$, \eqref{eq19A} becomes
$$f(x_2) \le x_2 \lt -\sqrt{\alpha} \tag{21}\label{eq21A}$$
From \eqref{eq20A} and \eqref{eq21A}, you get
$$x_2f(x_2) \gt \alpha \implies -x_2f(x_2) \lt -\alpha \tag{22}\label{eq22A}$$
Using this, along with $x = x_2$, in \eqref{eq16A} in \eqref{eq10A} gives $f(0) \lt -\alpha$, which contradicts this case's assumption. Since $\alpha$ can be any positive real value, this shows there can't be any lower bound on the value of $f(0)$, i.e., it can't be negative.
Since neither case $1$ or $2$ are true, this means that $f(0) = 0$. Using this with \eqref{eq10A}, along with \eqref{eq16A}, gives
$$0 \leq -xf(x) + f(f(x)) \implies xf(x) \leq f(f(x)) \leq 0 \tag{23}\label{eq23A}$$
From \eqref{eq4A} and \eqref{eq15A}, you get
$$f(x) \leq f(f(0)) \leq 0 \tag{24}\label{eq24A}$$
From \eqref{eq23A}, for $x \leq 0$, you get
$$f(x) \geq 0 \tag{25}\label{eq25A}$$
This, together with \eqref{eq24A}, gives that
$$f(x) = 0, \; \forall \; x \leq 0 \tag{26}\label{eq26A}$$