How does JavaScript split work on Arabic plus English number strings?

It depends on how you type the string (left to right / right to left). In the provided question, "2132-سسس" was typed from left to right and "8635-بحد" was typed from right to left.

Check the below snippet.

console.log("Typed left to right:");
console.log("2132-سسس".split('-'));
console.log("8635-بحد".split('-'));

console.log("---------------");

console.log("Typed right to left as Arabians follow:");
console.log("سسس-2132".split('-'));
console.log("بحد-8635".split('-'));

Rather than treat text direction as an issue to be controlled at the markup or formatting layer, Unicode requires that it be processed at the character set level. In the absence of formatting characters that would force text direction, certain characters (such as Latin-alphabet letters) are displayed left to right, some (such as Arabic or Hebrew letters) are displayed right to left, and some (like punctuation marks) may be displayed in ways that depend upon previous characters, and some (like digits) may be displayed left-to-right as a group, but with groups being displayed according to the direction of the preceding text.

If the uppercase letters in the text (characters specified in order, left to right) abc123 456XYZdef were in a right-to-left alphabet, the text would be displayed as abc123 456ZYXdef, with the right-to-left characters being shown in right-to-left order. If the order of the characters had been (again, reading strictly left to right) had been abcXYZ456 123def it would be displayed as abc123 456ZYXdef because the two groups of numbers would be displayed in right-to-left order, to the left of the preceding right-to-left text, even though the numbers within each group would read left to right.

As a consequence of these rules, it's impossible to know the order of characters in a string just by looking at it. The only way to really know what's going on is to transliterate characters into forms like their hex representations which have a consistent ordering.