De las cuatro opciones anteriores que usan 3 consultas reales en mi aplicación, cada una de las cuales tarda entre 1 y 3 segundos en ejecutarse, el método 3 terminó siendo el más rápido para cualquier persona interesada.
Los métodos 1 y 2 fueron aproximadamente 1/2 segundo más lentos, y el método 4 fue solo un poco más lento.
Editar:Hice estos puntos de referencia usando console.time('query')
sugerencia en los comentarios de arriba.