buenas...
lo que sucede es que no estas considerando los nodos tipo texto (TextNode). si te fijas, entre las dos etiquetas <p> tienes un salto de linea el cual se transforma en un TextNode. o sea, tienes esta estructura: HTMLParagraphElement, TextNode, HTMLParagraphElement. te recomiendo que utilices alguna consola de javascript con excepcion de iexplorer. cuando lees la propiedad childNodes, te enumera todos los nodos del elemento. ahi podras ver la relacion.