This one is entirely on us, we wrote the custom code, which makes us responsible for maintaining it.
The upgrade status module gives us a nice report of each custom project and what changes it thinks are required to bring the code up to date to work with Drupal 10.
We really don't have a lot of custom module code, and the code that we do have is very simple, standard Drupal 8/9/10 stuff, so there are a couple of calls to
taxonomy_term_load_multiple_by_name to remove, and an
accessCheck to add to an entity query, but other than that our custom...