I'm trying to curl branches (curves) vertically on a main trunk but the rotation direction changes based on the z rotation of the starting point. There is also twisting going on. I'm guessing there's a simple answer to this?
Here would be the solution:
To generate the correct rotation axis in this case, you would simply have to generate the cross product from the positions of the points and the up vector. This will give you exactly the axis per spline point that you show here as the Y-axis (the green axis).
Otherwise, you have done everything right.
PS: It would be fantastic if you could always share your blend file with us in your next questions, because that would simplify things a lot. That way, every time someone has to rebuild your node trees, and that can be quite time-consuming sometimes. Thanks!