With the UART peripheral, baud rate = Mck / (CD * 16) with CD between 1 and 2^16. As an administration employee, you should be able to make divisions, shouldn't you ?, and you will observe that none of your baud rates will match because CD must be an integer.
Whereas, with USART peripherals, the divider can have a decimal part. With Serial1, Serial2, Serial3 AND Serial4 you can select successfully any of your baud rates. Make yourself a favor, buy a DUE (~$15 on aliexpress) and test with this sketch:
/** Hook a jumper between RX1 and TX2, and another one between RX2 and TX1 **/
char c = 0;
void setup() {
Serial.begin(250000); // To see the result on Serial monitor
Serial1.begin(5000000); // <******* select the same baud rate for Serial1 and Serial2
Serial2.begin(5000000);
Serial2.print("Hello");
}
void loop() {
String s;
s = "";
while (Serial1.available() > 0) {
c = Serial1.read();
s += c;
}
if (s.length() > 0) {
Serial.println(s);
Serial2.print(s);
}
delay(1000);
}