В общем итоге выяснилось следующее: В некоторых вопросах MS впереди планеты всей. При работе с самыми новыми устройствами от MS нужно использовать Pointer Events. Делается это примерно так:
Проверка:
// Pointer Events нужно проверить отдельно, так они совмещают в себе и мышь и тач
var is_pointer = !!window.PointerEvent;
// Отдельная проверка для "менее современных" браузеров
var is_touch = navigator.maxTouchPoints && navigator.maxTouchPoints > 0;
Все, теперь можно использовать. Примерно так:
if (is_pointer) {
this.$handle.on("pointerdown", this.pointerDown.bind(this));
} else {
if (is_touch) {
this.$handle.on("touchstart", this.pointerDown.bind(this));
} else {
this.$handle.on("mousedown", this.pointerDown.bind(this));
}
}