One thing I noticed rather late but might help this discussion: prefect automatically packs the dependencies/files which are IN the same local folder as your deployment manifest to your remote storage. So if you configure S3 to be your remote storage, and put all your dependency modules in a subfolder of your flow, and run prefect deploymemt build, it all is automatically uploaded to S3 without us needing to manually pack stuff.
I had to work around my project structure a little bit, but this way dependency management got super easy