Sampling is about returning some subset of a larger population.
It is not intended to return elements in a random order, or any other order. It could, but that's not really what it's there for.
cppreference hints at ordering in this statement:
The algorithm is stable only if PopulationIterator meets the requirements of ForwardIterator
"Stable" here means it would return results in the same order as the input, thus the order is guaranteed to not be random with a ForwardIterator. Related: What is stability in sorting algorithms and why is it important?
This also makes sense, since, similar to what's been noted in the comments, to be efficient, you'll first need to figure out which elements to pick, and then go through the iterator and pick the elements, since you can only iterate from one direction to the other. Thus it should be trivial to keep the elements in the same order.
As for when you're not using a ForwardIterator, it makes no guarantee about the order one way or the other. So, even if it might appear to be randomly ordered, it would not be wise to rely on this, as the randomness of the ordering may be implementation-dependent and it may or may not have high entropy.
If you want a random order, you should shuffle it.