If you are working with seeds to get the exact same results, you would have to make sure no additional calls to the random number generator are called before the actual split call.
I would recommend to create the split indices once, store them, and reuse for each dataset (e.g. as a Subset), which would make it easier.
On the other hand, if you want to use the seeding approach, you would have to debug your code and make sure that no other calls were made while creating your 4th dataset, which might be cumbersome.