The syntax of the line to operation given in the manual is to place |- between two coordinates:
Sometimes you want to connect two points via straight lines that are only horizontal and vertical. For this, you can use two path construction operations.
\path . . . -|< coordinate or cycle> . . . ;
This operation means
“first horizontal, then vertical.”
Following by these example:
\begin{tikzpicture}
\draw (0,0) node(a) [draw] {A} (1,1) node(b) [draw] {B};
\draw (a.north) |- (b.west);
\draw[color=red] (a.east) -| (2,1.5) -| (b.north);
\end{tikzpicture}
and these drawing:

Thus, this two-path operation is not intended to make a translation from one point to another.
This is a handy shortcut when you need to draw horizontal lines followed by vertical lines or vice versa.
You just have to write (syntactically) in your code:
\draw ($ (node1.south) + (1,0) $) to ($ (node1.south) + (1,0) $) |- (node2.north);
instead of
\draw ($ (node1.south) + (1,0) $) to ( ( ( $ (node1.south) + (1,0) $) |- node2.north);`
Your code becomes like this:
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\node at (0, 0) (node1) {Hello};
\node at (0, -2) (node2) {World};
% working:
%\draw ($ (node1.south) + (1,0) $) to ( node1.south |- node2.north);
% now working too:
\draw ($ (node1.south) + (1,0) $) to ($ (node1.south) + (1,0) $) |- (node2.north);
\end{tikzpicture}
\end{document}
To have the same path as the one you want, you must build your path as indicated by @marmot or @ignasi.
($ (node1.south) + (1,0) $) to ($ (node1.south) + (1,0) $)in the second path. – Kpym Aug 27 '18 at 12:00