I think you may want to create a Static Port Forward in the NR for Android and proxy the port from phone:2121 to ftp:2121.
FTP:localhost:4021 (using Dynamic Port Forward) => 10.0.0.4:21
(using Static Port Forward => 10.0.0.4:2121
1.Create the Static Port Forward:
localhost:2121 -> 10.0.0.4:2121
2.The settings on the Vsftpd seems good. As you did, it returns to ftp client with "227 Entering Passive Mode(127,0,0,1,8,73)", i.e. 127.0.0.1:2121. It tells your ftp client connect to localhost:2121, then gets forwarded to 10.0.0.4:2121. And because of this settings, your vsftpd already listens on 2121 and waiting for the data coming in.
1.Keep the command tunnel using port 21 and using the Dynamic Port Forward, as Android does not allow NR client to listen on a port <= 1024.
2.For the Static Port Forward, please refer to http://www.neorouter.com/android/portforward.html
Let us know if you still have problem.
KevinZ - NeoRouter team