Pack the geo with another assemble sop after the first assemble (on the left-hand branch, not down through your group/foreach branch) and it works fine.
I think the reason it's stretching is it's mapping each point from your input geo, of which there are much more than 6, to the 6 particles. Once it's gone through the first 6 points, it loops around and starts over again. ie, points 0-5 are "correctly" mapped to particles 0-5 of your animated geometry. Once it gets to point 6 (ie 7, because we start at point 0), it loops and maps it to your 0th particle; point 7 to your 1st particle, etc. etc. If you check the point numbers you'll see this is consistent.
Give it the same number of points to work with (ie, pack your geometry) and everything works fine.