Zippers have openings at either end. It either needs something stretchy enough to knot (in which case how is it different then nylons or tights?) or have a closure that can be doubled over, kind of like a fish bag maybe. So spin, secure, spin tail, fold tail over and secure again. String would probably work for this if it could be knotted tightly.
It would be nice to have a material that doesn’t stretch so much, I’ve tried making tubes of beads for longer babies but they just settle into the butt anyway. Hmm.
Some zippers are attached at the base like pant zippers and the top fits snuggly at the top, like the skinny zippers I have on my microbead type pillows. It might still let some slip out though, you have a point. Vive the nylon knee high or baby tight!
For a firmer tube I’d try something less stretchy like 100 % cotton poplin, packed to desired density.