Я в итоге адаптировал валидацию под номер, введённый не по маске (удаляю всё кроме цифр и проверяю длину, раньше по маске проверял), да type="tel" поставил. На десктопе inputmask работает, а на мобильном клавиатура "телефонная" включается. Валидацию и то и другое проходит одинаково. input pattern не так как надо работает. Не заставлять же пользователя самому всякие +7 и скобочки с пробелами вводить.