Can anybody explain this weird result to me? Shouldn't these instances be all aligned to the curve? Even the Blender Manual suggests so: "This output can be combined with the Align Euler to Vector Node to create a rotation that lines up with direction of the curve. Including the Normal output in a second align node after can align the other rotation axis."
Remember how these inputs like Position are always connected to the geometry for which the output is used? Your Set Position Node is executed first, then the rotate instances node is executed and it uses the newly set positions for the sample curve node. Swapping those fixed the issue.