I find that the condition $A\eta+f(\eta) \ge 0$ is necessary and sufficient. Let us assume that $f$ is globally Lipschitz and depends only on $y$, so that there is no problem about global existence. Let us have in mind that $X$ is an $L^p$ space or a space of continuous functions.

1) Assume first that $\eta=0$. If we take $y_0=0$, then $y'(0)=f(0)$; if $f(0) <0$, then $y$ would be negative for small $t$ (pointwise in spaces of continuous functions, against a positive functional in $L^p$...).

2) If $f \ge 0$ everywhere, then $y \ge 0$ by the variation of constants formula.

3) If $f$ is positive only for positive $y$, then we modify $f$ to $g$ by setting $g(y)=f(0)$ for $y \le 0$ and $f=g$ for positive $y$. Then we solve the problem with $g$ instead of $f$ and we get a positive solution, by the previous argument. This solution is then the solution of the given problem, by uniqueness.

4) Assume now that $f(0) \ge 0$ and take $\lambda$ such that $\lambda y+f(y) \ge 0$ for $y \ge 0$. We rewrite the problem in the equivalent form
$$
y'=(A-\lambda )y+(\lambda y+f(y)).$$ Since $A-\lambda$ generates a positive semigroup, as well, we may apply point 3) and $y \ge 0$.

5) The general case reduces to $\eta=0$ writing $y=\eta+z, y_0=\eta+z_0$. The equation for $z$ becomes $z'=Az+A\eta+f(\eta+z), z_0 \ge 0$ and the condition $A\eta+f(\eta) \ge 0$.

cross-positivein the sense that we have $\langle x', f(x)\rangle \ge 0$" whenever $0 \le x' \in X'$ and $0 \le x \in X$ with $\langle x', x \rangle = 0$. However, I don't know which precise technical conditions are needed to make all the details work. $\endgroup$5more comments