Fixed. Cargo expects the crates to be uploaded under /crates directory in your repository. The issue was "include pattern" for permission target of my user in Artifactory. Setting it to crates/** worked.
/crates
crates/**