filter:uploadImage hook receives some params that you can use to differentiate between a profile/cover picture for a user vs an image that is uploaded to a post.
When a cover or profile image is uploaded the folder passed to the hook is set to profile. Also the image object will have a name field that is set to either profileAvatar or profileCover depending on what is being uploaded. When you upload a image to a post the folder is set to files.
I think the upload from url is no longer used since that is handled client side now when someone tries to set their profile image from a url. In the past we used to download the image from that url server side but not it is handled client side with the cropper lib.