A suposição sobre s3cmd não ser capaz de ler seu arquivo de configuração estava certa. Por alguma razão desconhecida para mim, durante a mudança de nível de execução (0), quando init executa os scripts init, aparentemente o usuário root que executa esses scripts não conta como um usuário "real" para que não tenha um diretório "home" de onde s3cmd tenta ler a configuração.
Especificando explicitamente a localização do arquivo de configuração usando o --config=... resolve esse problema.