1) Наверное только на некоторых языках, где все пишется так громоздко, что даже SQL с ручными преобразованиями входных/выходных данных выглядит компактно :)) Компактность - от того, что вы пишете на языке домена, и не пишете код преобразований и "перехода между мирами".
2) Это да. Мозаика часто встречается, и если SQL становится слишком много (больше 5 процентов всех выборок, например) - значит, явно что-то не то, и может ORM тут лишний.
3) Нет, это как раз работает всегда. Не всегда работают рефакторинги, если часть - на SQL, там придется руками дорабатывать. А вот проверки доменного кода - работают всегда (а его должно быть подавляющее большинство, см. п.2)
4) И еще раз - видимо, привычка к своему контексту. Вероятно, где структуры данных компактны, где много делается в памяти, где разнообразие комбинаций в выборках маленькое. Зато, наверное, объемы данных огромные, скорости тоже, критичность высочайшая и т.п.