Почему split не разбивает строку на строку + число?
Потому что вы просите разбить строку по букве d.
Но даже если добавите бэкслеш, то всё равно нужный результат не получите, так как последовательность '100' станет разделителеми, а разделители в результат не включаются.
Чтобы разделителем был переход с не-цифр на цифры и наоборот можно сделать так:
'user100test'.split(/(?<=\D)(?=\d)|(?<=\d)(?=\D)/g);
// [ "user", "100", "test" ]
с регулярками можно проще. 
Разбить на группы только-буквы или только-цифры:let re = /((\D+)|(\d+))/g; // \D не-цифра, \d цифра

'user100'.match(re)  // [ "user", "100" ]
'2022habr06QnA'.match(re)  // [ "2022", "habr", "06", "QnA" ]