A Test Set is a very flexible thing and so in principle you can do with it what you think will be best to your process, but our inclination is more towards the second option (the sequence of tests cases).
Think of a Test Set like a group of test cases you want to run together and most times also in sequence. And so it makes sense to group them by environment and sort them by functionality, and then assign them accordingly.
Taking this a step further, many times we see people creating a test set that has a specific functionality tested by a number of tests (for example create and approve a quote), and then clone it for all the platforms they need to do. This way your testers can go to platform A and test the feature, then platform B and test it, and so on. Making the process faster and easier.
Hope this helps!