Let $f:\mathbb{R}^+\to\mathbb{R}^+$ be a function such that $\,\forall x,y\in\mathbb{R}^+, f(x+f(y+xy)) = (y+1)f(x+1)-1$. Prove that $f(x)=x$ for all real numbers $x>0$.
I think it might be useful to prove that f is injective and then make a substitution. It should be possible to prove $f$ is surjective too. It might also help to prove additional properties of f such as multiplicativity, that f has infinitely many fixed points, that f satisfies the functional equation $f(x+y) = f(x)+f(y)$ for all positive real numbers x,y, etc. First substituting $x=y$ gives $f(x+f(x+x^2)) = (x+1)f(x+1)-1.$ Swapping $x$ and $y$ gives $f(y+f(x+xy)) = (x+1)f(y+1)-1.$ Substituting $x=1$ into the latter equation gives $f(1+f(2)) = 2 f(2) - 1.$ In general for any positive integer $n, f(n+f(n+1)) = 2f(n+1)-1$. Suppose $f(x)=f(y).$ Then It might be useful to make the substitution $u=y+1, v= x+1$. Then we have $f(u-1 + f(u(v-1))) = uf(v) - 1$ for all $u,v > 1.$
If $f(\dfrac{x+y}2) = \dfrac{f(x)+f(y)}2$ for $x,y \in \mathbb{R}_{\ge 0}$, then letting $g(x) = f(x) - f(0)$ we get $g((x+y)/2) = (g(x)+g(y))/2$ for all $x\in \mathbb{R}^+$ so we may assume $f(0) = 0$. Then $f(x) = f(2x)/2$ for all nonnegative x and so $f(x+y) = (f(2x)+f(2y))/2 = f(x)+f(y)$, implying that $f(nx) = nf(x)$ for all rationals $n > 0$ and $x \ge 0$.
I found that the answer above had some apparent issues w.r.t OP, so I'll write an answer that should not be doubtable, hopefully. It will borrow statements from the above answer, but will try to be more precise and detailed.
Let $P(x,y)$ be the assertion that $$ f(x + f(y+xy)) = (y+1)f(x+1)-1 $$
You have listed all the usual tricks that we can apply. Since we are working on a restricted domain, the possibility of substituting $0$ is out. Thankfully, because we are asked to prove $f(x)=x$ for $x>0$, we know that this function's properties, such as bijectivity, satisfying the Cauchy functional equation etc. may be sub-targets of our working.
For example, if we set $x=1$ then we get $$ f(1+f(2y)) = (y+1)f(2)-1 $$
Injectivity
The above statement implies injectivity.
Indeed, if $f(a)=f(b)$ for $a,b>0$, then $1+f(2\frac a2) = 1+f(2 \frac b2)$. Applying $f$ to both sides (which can be done because both sides are positive as $f$ has range $\mathbb R^+$ and $\frac a2,\frac b2>0$), $$ f\left(1+f(2\frac a2)\right) = f\left(1+f(2 \frac b2)\right) $$
By the identity before this section, we get $\left(\frac{a}{2}+1\right)f(2)-1= \left(\frac b2 + 1\right)f(2)-1$, which because $f(2) \neq 0$ leads to $a = b$. Injectivity has been proven.
Clever substitution
Once injectivity has been proven, we may also want to try surjectivity, for example. However, prior to this, there is a very clever use for injectivity available.
This is the following : If we can choose $y$ (in terms of $x$) such that the right hand side of $P(x,y)$ equals $f(z)$ for some $z$, then the left hand side of $P(x,y)$ always equals $f(z')$ for some $z'$. Therefore, $z'=z$ will be obtained by injectivity.
For what value of $y$ can the right hand side $(y+1)f(x+1)-1$ be made into some $f(z)$? The value $Y = \frac 1{f(x+1)}$ fits. For starters, it's positive because $f(x+1) > 0$, hence $y>0$. Next, we observe that $$ (Y+1)f(x+1) - 1 = Y f(x+1) - 1 + f(x+1) = f(x+1) $$ Therefore, by looking at $P(x,Y)$ we get $$ f(x + f(Y+xY)) = f(x+1) $$
By injectivity, $x+f(Y+xY) = x+1$. Hence, $f(Y+xY) = 1$ for all $x>0$. Substituting $Y$ in, we have $$ f\left(\frac{x+1}{f(x+1)}\right) = 1 $$ for all $x>0$. By letting $z = x+1$, we have $$ f\left(\frac{z}{f(z)}\right) = 1 $$ for all $z>1$. This is a very useful statement.
Use injectivity again!
Indeed, we just saw that $f(\frac {z}{f(z)}) = 1$ for all $z>1$. That is the same as saying that $f(\frac {z}{f(z)}) = f(\frac{z'}{f(z')})$ for all $z,z'>1$. Therefore, by injectivity, $\frac{z}{f(z)} = \frac{z'}{f(z')}$ for all $z,z'$. Let's call this constant as $K$.
Back to $P(x,y)$ and nearly finishing the problem
To push this back into $P(x,y)$, we note that $x+1>1$ as $x>0$, therefore we obtain the analogous statement $$ f(x+f(y+xy)) = (y+1)\frac{(x+1)}{K}-1 $$
In particular, if $x>1$ then $x+f(y+xy)>1$. Therefore, $$ \frac{x+f(y+xy)}{K} = \frac{(y+1)(x+1)}{K}-1 = \frac{(y+1)(x+1)-K}{K} \\ \implies f(yx+y) = yx+y+1-K $$
Let $x=2$ now, for example, to get $$ f(3y) = 3y+1-K $$
For all $y>0$ (we never restricted the value of $y$ in our manipulations in this section!)
Now, if $z=3y$ then the above statement transforms into $f(z) = z + 1-K$ for all $z>0$.
All we need to do is find the value of $K$.
Finding the value of $K$
Using $P(x,y)$ itself, we see that for any $x,y>0$, $$ f(x+f(y+xy)) = (y+1)f(x+1)-1 \implies (x+f(y+xy)) + 1 - K = (y+1)(x+2-K)-1 \\ \implies x+y+xy+1-K+1-K = (y+1)(x+1)+ (y+1)(1-K)-1 \\ \implies 1-2K = (y+1)(1-K)-1 \implies 2-2K = (y+1)(1-K) $$ for all $y$.
Note that if $K>1$, then $f(K-1)=0$ gives a contradiction to the domain of $f$. Therefore, $K \leq 1$.
However , if $K<1$ then we will get a contradiction because $y+1 = 2$ for all $y >0$ is not possible. Therefore, $K=1$ must happen.
Thus, $f(z)=z$ for all $z>0$, as desired.