Era o MYSQL_ATTR_MAX_BUFFER_SIZE que é 1 MB por padrão.
Isso corrigiu o problema:
$pdo->setAttribute(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE, 1024*1024*50); // 50 MB
$pdo->setAttribute(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE, 1024*1024*50); // 50 MB