You’re feeding the spawned object rotation of the parent (or default rotation); you need to make a new rotation based on the directional vector, something like this:
Make sure cylinder’s pivot is at the base, not in the middle. Also, you can skip *normalise *in your example, random unit vector is already normalised.