Parece que es imposible para utilizar ORDER BY en un resumen GROUP BY. Mi lógica fundamental es defectuosa. Tendré que ejecutar la siguiente subconsulta.
SELECT `p`.*, `pp`.`price` FROM `products` `p`
LEFT JOIN (
SELECT `price` FROM `product_price` ORDER BY `date_updated` DESC
) `pp`
ON `p`.`product_id` = `pp`.`product_id`
GROUP BY `p`.`product_id`;
Esto tendrá un impacto en el rendimiento, pero como es la misma subconsulta para cada fila, no debería ser tan malo.