I am about to exceed my knowledge of VFDs. That said, if the PMDX-110 is outputting 9.82 or 9.89 volts to the VFD, AND presuming that the VFD is programmed so that 10V in results in 4000 RPM of the spindle (a big *if*), then you should be getting (9.8/10)*4000 = 3920 RPM.
From your graph it looks like you are getting somewhere around 3100 or 3200 RPM. This is about 77% of 4000 RPM. This makes me think that perhaps the VFD is not configured correctly, or there is something in the wiring between.
For kicks, command the spindle to 4000 RPM again in mach and measure the voltage AT THE VFD between the "VC" and "AV0" terminals.
hmmm... the VFD manual that you gave a link to is inconsistent in what it calls the analog input "common" terminal. In section 3.5, the picture shows the terminal labeled "AV0" (as in Analog Voltage Zero, or analog ground). But the below that diagram says "GND", which is also the name of the digital ground terminal next to FWD and RST. I think this is a typo and in the analog input section of that table it should say "AV0".
So... please verify that the "AV0" terminal on the VFD is connected to the pin 6 of J2 on the PMDX-110 board. Also, generally speaking, the "AV0" and "GND" terminals on the VFD should NOT be connected together. It kind of looks like they might be from your original wiring description of "GND - 2 wires violet and orange".
If you changed any wiring above, re-measure the voltage at the VFD between the "VC" and "AV0" terminals when commanded to 4000 RPM.
One final test: disconnect the wire from the VFD "VC" terminal and jumper the "VS" terminal to the "VC" terminal. This will provide 10V from the VFD to the control input and *should* run the spindle at full speed. See if that causes the spindle to run at 4000 RPM. If not, and if "VS" to "AV0" measures 10V, then something is not correct in the VFD configuration.
Bob