El error está en la operación que se realiza. El SUM() en ese caso no está discriminando por el mes. Solo hace la suma sobre el total de registros cuando el mes es el buscado, pero lo hace sobre la tabla entera.
COmo el unico caso donde tienes datos de dos meses diferentes es ese producto, no notas que está haciendo lo mismo en todos los demás. Pero lo hace.
La solución debería pasar por cambiar el orden de las funciones:
Código MySQL:
Ver original `re`.`retencion` `name`,
SUM(IF(MONTH(a.fecha
) = 12, ahr.cantidad
, 0))) `data` `actas` `a`
`actas_has_retenciones` `ahr` ON `fk_actas_id` = `acta_id` `retenciones` `re` ON `retenciones_id` = `fk_retenciones_id`