Это в каком-то смысле преждевременная оптимизация. Такое "глубокое" продумываение архитектуры наперёд может приводить к негативным последствиям.
Например, что если структура изменится так, что элемент сам станет целью выборки? Например целевой класс будет размещён на этом же элементе через примесь. Это тоже нужно учитывать и писать дополнительный код, потому что теоретически это возможно?
Всем подходам своё место. И если этого не учитывать, то можно многое не понять. Например недавно мне написали что typeof myVar == 'function'
- это говнокод, потому что 2 сравнения, а не 3. Хотя понятно, что в этом случае это не имеет значения. Человек просто запомнил паттерн, "нужно использовать всегда тройное сравнение" и возможно даже не понимает почему
Я про closest не говорил, кстати. Вы этот подход сами придумали. В интернете миллион статей написано как разрабатывать на jquery, хоть это уже и не особо актуально