Aside from two simple observations, your answer after the EDIT makes perfect sense.
One is that the constant $ k $ can't be an arbitrary real number, and must be nonnegative (which you may have implicitly taken into account, but haven't asserted explicitly). That's because if $ k < 0 $, then $ - k \in \mathbb R ^ + $, and thus we should have $ Q ( - k ) - ( - k ) = k $, or equivalently $ Q ( - k ) = 0 $, which can't happen as by definition, codomain of $ Q $ is $ \mathbb R ^ + $. Knowing $ k \ge 0 $, your claim that $ f ( x ) = \frac 1 { x + k } $ is a solution, works perfectly well.
The other one is the comment by @Dylan, which adresses your claim about $ f $ being decreasing. As the comment states, you haven't used the fact that $ f $ is decreasing, but I want to stress that you could prove that fact by changing your argument just a little bit. At that point, you know that $ f ( x + y ) = \frac { f ( x ) } { f ( x ) + y } = \frac 1 { \frac 1 { f ( x ) } + y } $. As $ y > 0 $, you have $ \frac 1 { f ( x ) } + y > \frac 1 { f ( x ) } $, and then $ f ( x + y ) = \frac 1 { \frac 1 { f ( x ) } + y } < \frac 1 { \frac 1 { f ( x ) } } = f ( x ) $, which proves what is desired.
I'd like to add another way of thinking, which is essentially your own argument, but may be useful in my opinion. You could observe from the beginning that $ 1 - y f ( x + y ) = \frac 1 { 1 + y f ( x ) } > 0 $, which shows that $ f ( x + y ) < \frac 1 y $. This means that for every $ x , y \in \mathbb R ^ + $ with $ x < y $ we must have $ f ( y ) < \frac 1 x $, or equivalently for every $ y \in \mathbb R ^ + $, $ f ( y ) \le \frac 1 y $, which in turn shows that letting $ k _ y = \frac 1 { f ( y ) } - y $, we must have $ k _ y \ge 0 $. Then you could rewrite $ f ( x + y ) = \frac 1 { \frac 1 { f ( x ) } + y } $ as $ f ( x + y ) = \frac 1 { \left( \frac 1 { f ( x ) } - x \right) + ( x + y ) } $, which simply means that for every $ x , y \in \mathbb R ^ + $ with $ x < y $, we have $ f ( y ) = \frac 1 { y + k _ x } $. This means that for every $ x , y \in \mathbb R ^ + $, if we choose $ z $ so that $ z > \max ( x , y ) $, we must have $ \frac 1 { z + k _ x } = f ( z ) = \frac 1 { z + k _ y } $, which proves that $ k _ x = k _ y $, so we could simply use a single nonnegative constant $ k $, and we're done.
Not only it can be shown that identity is the only solution, but also one can only require the functional equation to hold for nonconstant affine functions, and still get the same answer.
For any $ y , z \in \mathbb R $ with $ z \ne 0 $, the function $ p : \mathbb R \to \mathbb R $ defined with $ p ( x ) = z x + y $ for all $ x \in \mathbb R $ is a nonconstant polynomial. Considering only the functions of this form, the functional equation reads
$$ f \big( z f ( z x + y ) + y \big) = z f \big( z f ( x ) + y \big) + y $$
for all $ x , y , z \in \mathbb R $ with $ z \ne 0 $.
Assuming $ f ( 0 ) \ne 0 $, we can substitute $ 0 $ for both $ x $ and $ y $ and $ \frac z { f ( 0 ) } $ for $ z $ to get $ f ( 0 ) f ( z ) = z f ( z ) $, which shows that for all $ z \in \mathbb R \setminus \{ 0 , f ( 0 ) \} $ we have $ f ( z ) = 0 $. But setting $ y = 0 $ and $ x = z = | f ( 0 ) | + 1 $, we will have $ x , z x + y \in \mathbb R \setminus \{ 0 , f ( 0 ) \} $, which gives $ f ( x ) = f ( z x + y ) = 0 $, and thus $ f ( 0 ) = \big( | f ( 0 ) | + 1 \big) f ( 0 ) $, which contradicts $ f ( 0 ) \ne 0 $. Therefore, we must have $ f ( 0 ) = 0 $.
Setting $ x = 0 $ and $ y = z = 1 $ we get $ f \big( f ( 1 ) + 1 \big) = f ( 1 ) + 1 $, which show that there is some $ a \in \mathbb R $ (equal to either $ 1 $ or $ f ( 1 ) + 1 $) such that $ f ( a ) \ne 0 $. Hence, substituting $ 0 $ for $ x $, $ a $ for $ y $ and $ \frac { z - a } { f ( a ) } $ for $ z $, we get $ f ( z ) = z $ for all $ z \in \mathbb R \setminus \{ a \} $. Now, we can choose some $ b \in \mathbb R \setminus \{ a \} $ with $ f ( b ) \ne 0 $, repeat the argument to get $ f ( z ) = z $ for all $ z \in \mathbb R \setminus \{ b \} $, and thus conclude that $ f $ must be the identity function.
Best Answer
Exchanging $x$ and $y$ and substracting, it follows $f(xy+f(x))-f(xy+f(y))=x-y$. In particular, if $f(x)=f(y)$ then $x=y$.
The equation also tells us that if $r > f(x)$, we can find a $y> 0$ such that $r=f(x)+xy$, so $f(r)=f(xy+f(x))=f(f(x)f(y))+x > x$, ie that if $r > f(x)$, $f(r) > x$.
In particular, if $x > f(x)$, $f(x) > x$, so we have, for all $x$, $f(x) \geq x$.
Now, let us fix some $x > 0$ such that $f(x)>x$.
Define, for any $y > 0$, $g(y)=\frac{f(x)}{x}(f(y)-1)$. If $g(y)>0$, then note that $xg(y)+f(x)=f(x)f(y)$, thus $f(xy+f(x))=f(xg(y)+f(x))+x$.
Therefore, if $y >0$ and $g^n(y)>0$ is defined, $0<f(xg^n(y)+f(x))=f(xy+f(x))-nx$. As a consequence, $n < \frac{f(xy+f(x))}{x}+1$ (the precise estimate is irrelevant, just remember tha the RHS is explicit in $x$ and $y$).
In particular, there exists some $n \geq 0$ (depending on $x,y$) such that $g^n(y) > 0$ is defined and $g^{n+1}(y) \leq 0$.
Now, take $y > \alpha$, where $f(x)(\alpha-1)=x\alpha$. Then $g(y)=\frac{f(x)}{x}(f(y)-1) \geq \frac{f(x)}{x}(y-1) > f(x)(\alpha-1)/x=\alpha$.
We find that $g^n(y)$ is defined and positive for all $n$, a contradiction.