Your evaluation plan should survive a change in the data. These records use different values and row counts from the earlier examples, so avoid memorizing row positions. Recreate the requested partitions with the supplied objects and a fixed seed. Paired splitting matters just as much when you already have a training partition.
Some tasks ask for stratification; others use a plain random split. Follow the stated requirement rather than adding assumptions. The validation exercises start from X_train because the final test partition already exists. Drawing validation rows from all of X would let test observations influence selection. Check that the training and holdout indices are disjoint, that their union covers the input rows, and that each label still matches its feature row.