Only the original UNIXv7 cat ever set a buffer, with setbuf(stdout, stdbuf).
BSD cat uses -u to set the buffer to NULL, but in the code there it doesn't ever seem to set the buffer otherwise, so it's likely always unbuffered, or buffered to the kernel's discretion.