En tu código el agregado de esto a.trim(); resuelve el problema. trim() le quita justamente esos caracteres de LF y CR.
asi que a tu código le sumas
void loop() {
if(Serial.available()){
String a = Serial.readString();
a.trimm();
if(a.equals("cambiar")){
Serial.print("funciona");
}
}
}
y funciona!!
Resta resolver el tema del timeout que para mi gusto es horrible lo que tarda en reaccionar. Por eso me gusta la versión con Serial.readStringUntil('\r')