You said you were comfortable with the technical side but I'm a bit of an expert on Drupal SEO and there are some shortcuts. The main one being, use the Pathauto module and the Redirect module. Together, when you change the URL of a node, they will automatically create the 301s. I'm sure your agency would have set that up in the first place.
As far as SEO pitfalls for moving content around, you'll lose about 15-20% of the value of any links coming into the old URL. Google doesn't hate redirects but they do discount them slightly. You might use a tool to look at any backlinks you have coming into those pages and contact the webmasters of the sites in question to update them. Tedious but worth it for important links.
You can fix a lot of the internal links to the old URLs just by updating the Menu system and any sitewide blocks that you're using (like the sidebar or footer).
When I move content, I take the time to buff the SEO of those pages to try and offset any temporary dips in rankings. Often, by the time it's all said and done, the pages actually rank higher than they did before the move. Especially if you haven't implemented Schema.org in JSON-LD yet or set up AMP, both of which have ready solutions in Drupal.