It appears libftdi doesn't correctly compute the FT230X baud rate divisor. AFAICT, it's supposed to be computed the same as the FT232R and related devices. I determined this by looking at the corresponding code in the Linux kernel's fdti_sio.c.
Prior to the change, I was unable to set a baud rate of 2000000. After the change, it worked correctly. I haven't tested other baud rates. I did, however, compare the code to the Linux kernel code, and it uses the same baud rate computation for the X series as it does for the BM and R series.
I haven't seen any discussion of this issue recently in the list archives. I did find one thread from over 2 years ago, but it didn't end with a fix.