I use both. Tangled is missing some important features (private repos, protected branches). The ui feels more comfy to me, though. And Codeberg is quite slow for me.
Idk if I can give you toooo much about migration, since I haven't used any CICD kind of stuff; just having repos to push to is super simple if you use their hosted knots. Also not too complicated to host a knot yourself; I'm hosting my own knot, and I like that I own at least one of the servers that I'm pushing code to.
Tangled is also VC funded, something to consider.
It doesn't really matter, you can host your own knot (git backend), spindle (CI/CD worker), and there are already alternative apps to access the same public, consumable records without centralized infra: https://untangled.wisp.place/
I just switched to Tangled. It was actually very similar experience. I will be using Tangled henceforth!