Does the `HTLC fail` routed back to sender using same path if intermediate node does not have enough capacity?
The failure message must go along the same route it came, because any intermediate step does not know where the payment was originally sent from. Every hop only knows the previous and next hops in the sequence, and so the only option it has is to return the information to the previous hop on the route.