It is not true that $|ax|=a|x|$; the correct identity is $|ax|=|a||x|$.
Whether or not adding the hypothesis of continuity is necessary for additive functions to be linear depends on the axiom of choice. Using a Hamel basis $B$ for $\mathbb{R}^n$ over $\mathbb{Q}$ together with one of its countable subsets $A=\{x_1,x_2,\ldots\}$, you can construct a discontinuous $\mathbb{Q}$ linear map from $\mathbb{R}^n$ to $\mathbb{R}$ by taking the unique $\mathbb{Q}$ linear extension of the function $f:B\to\mathbb{R}$ such that $f(x_k)=k|x_k|$ and $f(B\setminus A)=\{0\}$. Since $\mathbb{R}$ linear maps between finite dimensional real vector spaces are continuous, such a map cannot be linear. However, it is consistent with ZF that all additive functions from $\mathbb{R}^n$ to $\mathbb{R}$ are continuous (I am however not knowledgeable in the set theoretic background needed to show this).
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.
Best Answer
let $P(x,y)$ be the assertion $$f\big(xf(y)-y\big)+f(xy-x)+f(x+y)=2xy\text.$$
$P(0,0)$ gives $f(0)=0$.
$P(x, 0)$: $f(-y)+f(y)=0$ therefore $f$ is odd.
$P(-x, -y)$ gives $$f\big(xf(y)+y\big)+f(xy+x)-f(x+y)=2xy\text.\tag{*}\label{*}$$
By plugging $x=1$ in \eqref{*}, we get $f\big(f(y)+y\big)=2y$, hence, $f$ is surjective.
$\therefore \exists a: f(a)=-1$.
$P(x,a)$: $f(-x-a)+f\big(x(a-1)\big)+f(x+a)=f\big(x(a-1)\big)=2ax$ (note that $f$ is odd).
$\therefore f\big(x(a-1)\big)=2ax$.
if $a=1$, $f(0)=2x$ which does not make sense. so $a\ne 1$, which implies that $f$ is linear. Putting back to the given assertion, we get $f(x)=x$.