La única forma en que pude hacerlo funcionar fue reemplazar la declaración preparada con una llamada 'ejec':
$rowCount = DB::connection()->getpdo()->exec(
"LOAD DATA LOCAL INFILE '$fileName'
INTO TABLE $tableName
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\\n'"
);
No tengo idea de por qué no funcionaría usando una declaración preparada en Laravel; definitivamente funciona con una declaración preparada pura de PDO.