It was a pretty easy process to migrate the domain and mail hosting. I didn’t feel like it required a lot of knowledge but I’m also a network engineer by trade so this kind of stuff comes easy by me as well.
So when I switch my DNS to Cloudflare, it copied my mx records and other dns records so my gmail kept working during this process. I then went through the process of using a custom domain with iCloud+ on my iPhone which was entirely automated so it was very easy. I think all I had to do was copy a verification token to my Cloudflare DNS after migrating and then when I verified it on my iPhone it noticed I was signed up for cloud flare with my Apple ID and was able to make the changes necessary to move email hosting for me.
I signed up for Cloudflare using my Apple ID to make the process easy. You also have to have an iCloud email address first so if your Apple ID is your gmail or custom domain, you will want to sign up for iCloud mail first.
The last thing I did was set up forwarding on my gmail account to forward all messages to my iCloud and I was good to go