Consulte el siguiente boceto que he copiado de otra pregunta:
Quiero saber si un elemento (como la fila gris) dentro de un contenedor desplazable (como el cuadro azul) está en la ventana gráfica usando solo Vanilla Javascript.
Otros hilos sobre viewport no consideran elementos desplazables.
Solo encontré una pregunta relevante, pero tiene casi 10 años.
Puedo obtener la posición vertical del elemento con respecto al elemento principal mediante la propiedad .offsetTop pero no puedo ajustar mi código para tener en cuenta la posición desplazada.