This is how you scale along a custom axis in Blender:
Transform Geometry nodes use matrix transformations (in all cases except when only Translating = moving), and this is the typical matrix shenanigans (just like rotating around a custom pivot points means moving so the pivot point is in the origin, rotating, and moving back). Just keep in mind since you don't have the super-convenient "Reverse" option known from the Vector Rotate node, if you rotate on more than one axis, you need to manually reverse the rotation order from $xyz$ to $zyx$:
In your case you want to rotate multiple things, so You can't use the Transform node, but you can use equivalent instance nodes:
The result, as well as a comparison with UV spheres:
Aligning scale to tangent
I think you might be after this: