Yep. I tried it before I posted this topic, and I used exactly the same script as @helicoptur, but with my "moew esax asdf qwertyuiop" instead of his "some words in a list will be shuffled now".
The deeper question is whether all possible results come out with equal probability. (I don't know the answer, but I do know that some candidate shuffling algorithms are, e.g., weighted in favor of the first input item ending up near the front of the result.)
Hmm... The first item has a 50% chance of staying, no matter the length, so it probably isn't. I wonder if sort randomly -> reverse -> sort randomly works.
Better yet, have $$Probability\space of\space swap = {1\over len(list)}$$.
That's called "bubble sort," and is unlikely to be the algorithm used in the JS sort function (which is what we use), because bubble sort is $$O(n^2)$$ time. They probably use quicksort, which (ugh, hard to explain in one sentence) picks one random item and compares all the others against that one, dividing the list into the ones less than it and the ones more than it, then recursively sorts the two parts.
I think quicksort uses merge sort (what you explained) for lists of length > some value, and either insertion sort or selection sort for lists of length <= that value.
@helicoptur I wonder why they use quicksort for numbers but mergesort for strings. Must be something about the variable-width items. And I'm really curious as to why they'd ever use selection sort, unless the number of items is small.
Edit: fixed link. Thanks to www for providing the correct link.