Just copy all the altered and new files into your child theme folder. You don't need to copy the unaltered ones. And no, you don't need to add anything. WP automatically looks for a relevant file from the child theme first, and if it finds one, it doesn't look in the parent. If it doesn't find one, it looks in the parent.
For styles, of course, you import the parent's styles into your child theme's style.css file so that all the parent styles are used unless overwritten later in your child theme's style.css file.
The only exception to this is functions.php. In this case both files are loaded but the child theme's functions.php file is loaded first so that any functions defined in the child theme take precedence over any of the same name in the parent (assuming the parent is child theme friendly and has wrapped all its functions in a test for the prior existence of the function). But on the whole, you're likely to add new functions and not try to overwrite existing ones, I've found, so it doesn't really matter.
Changing the name of the root folder is the business about changing the site URL.
Pretty much all WP URLs finish up being absolute URLs (http://yourserver.yourdomain.whatever/yourwpfolderifany/slug) so as long as you've set up the site url and everything correctly (for the new server), it should all be OK. It is confusing. That's why I usually work on the server right from the start if I can, with 'Maintenance Mode' installed to keep users out. If I can't I just set up the structure with some test content, then when I've agreed that structure with the customer I do a fresh install on the server and set up the structure from scratch: only then do I put the real content up (or get the user to do it) - using Maintenance Mode again, of course, until it's ready.
It saves a lot of hassle.
When I went on an Advanced WP Course not so long ago, the instructor demonstrated moving a site and finished up failing miserably.
HTH
PAE