Subir una imagen a Storage, es muy fácil con el SET.
Suponiendo que en @property.tempImage tienes el archivo temporal que ha generado el cropper, puedes subirla a Storage con un SET así:
SET
what: @firebase.storage.users/(@firebase.user.id)/(@app.timestamp).jpg
value: @property.tempImage
Eso siempre te va a generar un archivo nuevo, pues @app.timestamp va a ser distinto cada vez.
Lo que pasa es que luego tienes que guardar esa ruta en la base de datos, para poder acceder a la imagen desde el documento. Y si guardas esa ruta después, el valor @app.timestamp ya será distinto.
Entonces, antes de subir la imagen a Storage, deberías guardar el nombre del archivo en una property.
SET
what: @property.filename
value: @app.timestamp
Y así luego ya la guardas en storage:
SET
what: @firebase.storage.users/(@firebase.user.id)/(@property.filename).jpg
value: @property.tempImage
Finalmente, para guardarla en Firestore, tendrás que guardar la ruta usando comillas:
SET
what: @firebase.firestore.users.(@firebase.user.id).documents.(@property.selectedUserDocument).photo
value: "@firebase.storage.users/(@firebase.user.id)/(@property.filename).jpg"