Those are all.
Given a function $r$, by restricting to a particular value of $y$ (barring finitely many), we get a rational function, hence a map $\mathbb P^1 \to \mathbb P^1$. For all but finitely many values of $y$, this map will have the same degree, $d$. Assuming $r$ is nonconstant, let $y_1$ and $y_2$ be two such typical values such that $r(y_1,y_2)$ is also typical. Then the degree of $x => r(x,y_1) => r(r(x,y_1),y_2)$ is the degree of $x => r(x,r(x,y_1,y_2)$$x => r(x,r(y_1,y_2))$, so $d^2=d$,so $d=0$ or $1$. Clearly the $d=0$ case is the constant case.
For $d=1$, we get a rational inverse function to $r$, giving us an algebraic group structure on $\mathbb P^1$ minus finitely many points. (Or for each $y$-value but finitely many, we get an automorphism of $\mathbb P^1$, which is an element of $PGL_2$, so we have a curve in $PGL_2$ that is almost closed under composition. The closure of such a curve is always a subgroup.) There are only two of these: $\mathbb G_a$ or $\mathbb G_m$. But we still have to decide which isomorphism between the closure of these groups and $\mathbb P^1$ to take. The homogeneity means that the missing points can only be $0$ and $\infty$, which gives us three options:
$\mathbb G_a$, $\infty$ missing: $r(x,y)=x+y$
$\mathbb G_a$, $0$ missing: $r(x,y) = 1/((1/x)+(1/y))=xy/(x+y)$
$\mathbb G_m$, both $0$ and $\infty$ missing: $r(x,y)= xy$.