Mostly a repeat of what Deva_Rishi replied while I was writing it, but there's some additional information so I'll post it anyway:
I'm just wondering why I'm not seeing a big difference between baud rates in the serial monitor using the following code
Arduino's hardware serial system does asynchronous communication. This means the Serial.println() just puts the string in the transmit buffer. After that, the serial data is sent out in the background via an interrupt service routine. The only exception to this asynchronous system is if the serial buffer is full. In that case, Serial.println() will block until there is enough space in the buffer for the entire string.
If you want to test how long it takes to clear the buffer at different baud rates, you can call Serial.flush(). This function blocks until the transmit buffer is empty:
there's a big difference in sending "1234" and 1234, sending a char string is much faster than sending a number, is this due to a conversion overhead?
Correct. The Print class converts any standard type passed to the print() or println() functions to a string before putting the data in the buffer. So starting with a string will always be the fastest, whereas converting from another type to a string will take longer.