It's taken a total of two years for us to research and complete our migration away from Drupal. It's been challenging, but also rewarding as the gains are already significant.
What follows is a long-ish post that describes briefly how we made the switch - but more importantly, why we migrated from Drupal to Payload CMS , as well as the relative strengths and weaknesses of each.
Before we get started it's important to say that there are great people in the Drupal community - great developers, and originally at least, a great framework, but agencies like ours need to respond and adapt to client needs.
The TL;DR of 'how' we migrated — simply enable the JSON:API and Serialization modules in Drupal, and then visit the JSON:API endpoints for your Drupal installation to retrieve collection and node data from which you can write your import scripts. If you need unpublished / draft content, use Puppeteer to authenticate your requests.
Visiting an endpoint like /jsonapi/node/article/{uuid} will result in the following... abbreviated here since the complete JSON document is quite long.