La razón es que a la izquierda hay otro <div> que tiene que quedar a la misma altura que estos <div> con los que estoy teniendo problemas.
Sabía que el float cambiaba el flujo del elemento, pero lo de los párrafos se me ha hecho raro. Yo diría que no me había pasado nunca antes.
Probaré añadiendo un margin-bottom. Gracias.