Your instances do not have a spline parameter.
You have to capture the spline parameter from the curve before converting it to points. Then you can use the captured (spline parameter) attribute to feed the float curve.
(You do not need the multiply node I added, you can also give the factor of the float curve values over 1 by typing them in.)
This has taken me a bit longer to work out. Luckily I found this video by Chris that is a different situation but gives the secret.
The tricky bit was that you need a transfer attribute node to transfer the attributes of the “height control” curve to the main curve with the GN node.
That way you can map the height of the instances (using their index) with the z position of the points from the “height control” curve. Hope that makes sense.
Both curves need the same number of points.
I also used a math node to get the cylinders to scale from the bottom up instead of the middle.