Mit ajax oder fetch hat das gar nichs zu tun. Das BOM wird von split entfernt, Code zum testen:
function getbom(){
var str = "\uFEFF"+"a;b"+"\uFEFF";
var ab = str.split(";");
var bb = new Blob([str]);
console.log( "Länge String mit BOM: "+bb.size+" bytes\n", ab );
}
und hier die DEMO, Console gucken:
Länge String mit BOM: 9 bytes
Array [ "a", "b" ]
Die BOM wird sowohl am Anfang als auch am Ende entfernt. So geht eine sachliche Diskussion!