Figured out the issue after quite a lot of debugging. I was not calling the completePendingCommand() after transferring the file to check the status of the transfer.
The API for FTPClient.retrieveFileStream()
states that to finalize the file transfer you must call FTPClient.completePendingCommand()
and check its return value to verify success. After correcting this issue, everything started working fine.