I see your point… So, the best option is for you to use a client that supports the COPY API. Copy allows to copy an object across two different buckets without incurring in data transfer, and it’s pretty fast (no external network bandwidth). A client that does COPY is s3cmd (not sure if Arq supports it, too):
s3cmd cp s3://BUCKET1/OBJECT1 s3://BUCKET2[/OBJECT2]
Check the instructions to setup s3cmd on DreamObjects if you never used it.
Alternatively, and probably even faster, use rclone, the COPY subcommand in particular.
You may want to test both these options with small files first, to make sure that the clients are indeed using the COPY API, not downloading and uploading again (they shouldn’t, you should be charged only for the extra storage space used). I haven’t tested any of these methods. If you want to get your next monthly bill down to $0, consider writing a tutorial on this
Another option is to use the ‘Migrations’ tab on DreamHost control panel, you should be able to copy one DreamObjects bucket to another DreamObjects bucket but this option will use bandwidth.