Gah, I ended up figuring out the 404 issue, it was a typo in the apache2 .conf file that was preventing mod_rewrite from taking effect on the URLs. Now to just figure out all the rest of them!
EDIT: After two days, I've finally gotten through it. I'll share some tips for anybody else who might be running into similar issues:
Problem: WSOD
Solution: Usually a permissions issue with /storage (make sure your chmods are recursive!) but this can also be caused by a missing or typo-ridden .env file. Make sure it contains the correct app and db stuff.
Problem: Seeing an old version of your website when you visit with a browser, and your routes don't work.
Solution: Laravel is storing incorrect cached versions of the site's resources. Make sure you clear the view cache AND the routes cache as these can double up.
Problem: 404 errors
Solution: this usually isn't laravel, but a problem with mod_rewrite. Double check that apache/whatever is running your server has it enabled and that the .conf files for your site are enabled properly
Problem: [Runtime error] service provider does not exist and could not be created
Solution: Another permissions issue, this time on composer: make sure composer update runs with sudo permissions
Problem: Css not updating.
Solution: Check and make sure your Public folder has everything up to date, since it's a little more susceptible to slipping through the cracks when synchronizing versions. You do not need bower, gulp, or node.js for a production laravel installation to run, so those will not fix your problem.
Ultimately, I'd also suggest installing laravel on your target machine first, and then updating only the Http, Resources, Public, Database, Config/app.php, and .env files if nothing seems to be working. Then it might be worth it to try an auto-updating git solution to save on time. Hopefully this goes easier for others than it did for me.