Thanks for all the good ideas.
I had previously read http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-hawordpress-tutorial.html and couldn’t work out how they expected /uploads and other server-writable directories to work. As you explain, it wouldn’t work. Maybe nobody reads the AWS doc, or anybody with enough knowledge to follow it knows it won’t work.
I have been looking at separating the content directories from the rest of WP myself, using the constants given in https://codex.wordpress.org/Determining_Plugin_and_Content_Directories not sure if the symlink method is better than this.