IOWait is not necessarily blocking, but the process doesn't have anything else to do except wait for I/O. A common code pattern is to do file I/O in a non-blocking fashion and then do some other processing while waiting for that to happen. But eventually, you run out of things you can do, so you run poll(2) to look for any of the non-blocking I/O you've requested, which shows up as SyS_poll on your top output. Or you might call epoll(2), which has a different interface, with a more involved setup, but it provides more focused output. Or you might call select(2), which is an older implementation of the concept, but uses a different structure for selecting which file descriptors are being watched. If your file descriptors to watch all have relatively low numbers, select can be more efficient to call than poll. But if your file descriptor set to watch is sparse, or includes some file descriptors that have a high enough number to be unwieldy to select, poll or epoll will be better, depending on whether or not you are watching enough things to merit the setup work of epoll.
Basically, this just means something about your NAS activity is slow, relative to the amount of work that is being requested of it. Assuming that this is all in a localized area (like your house), my first thought would be could your NAS be having some kind of a drive failure? RAID2 through RAID 7 are known for having degraded performance if one of the drives have failed. RAID 6 and RAID 7 are known for having severely degraded performance if two drives have failed.
It's also possible you have some networking misconfiguration. I don't know if network port mismatches are still a thing, but back when I was actually current on networking matters, it was common for autonegotion to fail, such that one device was set to half duplex and another device was set to full, and there would be collisions and network transmission errors as a result.
will show how many network errors a unix or Linux box has seen. On Linux, this is the last line of output for each interface. All of the numbers on that line should be 0. If the numbers on that line are increasing relatively rapidly, then you have a significant network problem.
Also, are all of the devices communicating at the full speed of your network? If it's a wired network, fast Ethernet is no longer something we consider fast; most devices these days want to transfer at gigabit speeds or faster. If it's wireless, https://en.wikipedia.org/wiki/IEEE_802.11 tells me that we're now up to 802.11ax. I think my network's a couple versions behind, but it's still fast enough I don't notice it since I don't stream things. But you are, so it's probably a good idea to make sure all of your devices are talking the same speed. That includes the router, even though that's often an overlooked device in a wireless network (at least in my experience - my extended family members don't plug into it so they don't think about it.)