We've done similar upgrades.
Umbraco itself and its data was fairly straightforward.
Views (layouts, templates, blocklist components) were fairly straightforward.
Umbraco Forms not having the same upgrade path made things more complicated.
Consider a uSync-based upgrade instead of an in-place upgrade and whether that would mitigate any risks. In a uSync-based upgrade you would essentially create a new Umbraco 13 solution from scratch and uSync in all settings and content from Umbraco 8 and migrate all custom stuff piece by piece.
Don't forget to plan deploying and hosting the 13 solution. You can't just deploy 13 over 8, it may not even be possible to use the same web app or web server.
For risk/workload purposes, assume that every C# file (controllers, surface controllers, API controllers, helpers, sitemap generators, Examine customizations, etc) in your 8 solution will require changes to work in 13. And that the more non-core-Umbraco stuff it uses, the more work it will require. The same applies to C# code blocks in Razor views.
If you're using any Umbraco packages/plugins, there may not be a 13 equivalent, or it may not easily upgrade. If you can't easily find a version for 13, assume you will have to replace it with something different.