It sounds like your router is setup to perform Network Address Translation (NAT). In its simple form, all NAT does is that it alters the IP addresses in the header of a IP packet. Most NAT implementations also perform Port Address Translation, where port numbers in the UDP and TCP headers are also modified. I'll just use the term NAT on its own even if I'm assuming Port Address Translation is also being done.
NAT by itself does not work well some protocols. FTP is an example of a protocol that can be broken by NAT. It's quite common for routers to be setup as a type of firewall with NAT activated. Some routers have added functionality to their NAT which allows them to work with protocols that are not normally NAT friendly (again, such as FTP).
The issue with FTP and simple basic NAT:
Using your example, your ftp client sends an FTP packet to the IP address of your router as its destination (and in your case with port 8500 as destination port). Your router takes that packet and translates the destination IP address to match you vsftpd server IP and then sends the packet to your vsftpd server. That works nice. The reverse happens for packets going from your vsftpd server back to the ftp client (in this case the router modifies the source IP address by removing the IP of your vsftpd server and inserting its own IP and then sending the packet to the client). The problem happens when you use an FTP command that has to transfer data (such as put or get - I'm not sure what filezilla calls those commands). When you attempt to transfer data (in passive mode - which is quite popular), the server sends its IP address and a port number to the FTP client. This information is part of the data in the FTP connection and is not part of the TCP/IP header itself. So a simple basic NAT router will allow this information to go from the server to the client. The client will then see this information and not understand the IP address that the server is talking about. Normally this would completely break the FTP transfer, however it appears that filezilla tries to make up for this problem (it's not clear in your answer if filezilla is successful with the transfer or not).
Now a router that does NAT and also supports certain non NAT friendly protocols (such as FTP), will actually inspect the data inside the FTP command connection and modify the IP and port numbers in there. This really is an extra feature and is an extension to NAT, but many routers and firewalls would support this. I'm guessing that you have a router that either does not support this feature or it's not configured for it.
Some command line FTP clients allow you to see some of this exchange of information by activating a "debug" feature. This is very helpful for trying to understand how all this works.