40.1Mbit/sec seems fine to me, and is about what I get on mine with an iPerf test. As the wifi chip has a maximum wireless rate of 65/72Mbps (depending on your AP’s mode) 40Mbps actual throughput is about right.
One thing to be aware of though is the test you just ran tested the sending performance of the Vero not receiving, which is what you would be using when streaming a movie from your NAS.
It might seem strange but when you test with iperf the server (-s option) is the one that receives data and the client (-c) is the one that sends, which is opposite to what you would expect.
So to test download/receiving performance to the Vero run the iperf server on the vero and the client at the other end. (Just reverse the options) If you get around 35-40Mbps there as well then I think we can rule out wifi throughput as the issue unless you are playing full bit-rate blu-ray rips, which would not be able to play over Wireless at this speed, as they can go as high as 50Mbps. Most “standard” rips are well under 20Mbps though.
You say you are using SMB - are you using the SMB client built into Kodi (smb:// URL in the video path) or are you using a kernel mount ? (a CIFS mount in /etc/fstab mounting to a directory, then referring to that “local” directory in the video path in Kodi)
Have you tried using NFS and/or using a kernel mount for SMB or NFS ? Most NAS boxes will support NFS and it is generally considered to be a leaner faster solution for streaming media than NFS, and mounting remote file systems via kernel mounts can often be significantly faster than using Kodi’s built in SMB and NFS support.
I have noticed some odd behaviour with Kodi’s inbuilt NFS client in Jarvis that I’m still investigating - which is causing the occasional pause for about 1 second while streaming from my NFS server even over Ethernet. If I switch to kernel NFS mounts the problem goes away. I wonder if you are seeing something similar.
Here is the kernel mode NFS mount I am using in /etc/fstab as an example:
192.168.0.10:/Users/admin/Movies /mnt/Mac-Mini nfs noatime,noauto,x-systemd.automount,async,nfsvers=3,rsize=8192,wsize=8192,nolock,nofail,local_lock=all,soft,retrans=2,tcp 0 0
I previously created the mount point for it with sudo mkdir /mnt/Mac-Mini