I can't find anything wrong with your logic.
It's just customary and correct, to write \(\displaystyle \sqrt{x^2}=|x|\)
For example if you had \(\displaystyle \sqrt{x^8}\) and for some reason you wanted to factor out \(\displaystyle x^3\) and leave \(\displaystyle x^2\) under radical then you would have to use the absolute value to be correct.
In the question \(\displaystyle \sqrt {{x^7}} = {x^3}\sqrt x \) I would say the there no need for absolute value as it is implied that \(\displaystyle x\ge 0\).
I would also consider \(\displaystyle x^{\frac{7}{2}}\) to be pretty "simple"!
Which of \(\displaystyle \sqrt{x^7}\), \(\displaystyle |x^3|\sqrt{x}\), or \(\displaystyle x^\frac{7}{2}\) is "simplest" is pretty much a matter of taste. Of course, it is your teacher's taste that counts!
The whole point of course is not which is "simplest" but to show that you can shift from one form to another.
In the question \(\displaystyle \sqrt {{x^7}} = {x^3}\sqrt x \) I would say the there no need for absolute value as it is implied that \(\displaystyle x\ge 0\).
\(\displaystyle \sqrt {{x^8}} = {x^4} \) likewise there is no need for the domain is \(\displaystyle (-\infty,\infty)~.\)
However, there are cases where it is needed.
For example, \(\displaystyle \sqrt {{x^{10}}} = {|x^5|} \). While the for the domain is still \(\displaystyle (-\infty,\infty)\) we know that \(\displaystyle \sqrt {{x^{10}}} \ge 0 \) but \(\displaystyle x^5< 0\) if \(\displaystyle x< 0\).