I always follow Symfony standards when it comes to helper functions. I normally have one module for developer-central stuff where I add a class under `src/Utils` for that and then call it everywhere I need it. Also in `*.module` or `*.theme` files.

**web/modules/custom/my_system/src/Utils/MyHelperFunctions.php**

    namespace Drupal\my_system\Utils;
    
    /**
     * Class MyHelperFunctions.
     */
    class MyHelperFunctions {
    
      /**
       * Get current multi-site directory name.
       *
       * @return string
       *   The basename of the matching multi-site directory.
       */
      public static function getMultiSiteAlias() {
    
        $site_path = \Drupal::service('site.path');
        $site      = explode('/', $site_path);
    
        return $site[1];
      }
    
    }

**web/modules/themes/custom/my_theme/my_theme.theme:**

    use Drupal\my_system\Utils\MyHelperFunctions;
    
    /**
     * Implements template_preprocess_html().
     */
    function my_theme_preprocess_html(&$variables) {
    
      // Add multi-site body class.
      $site = MyHelperFunctions::getMultiSiteAlias();
    
      $variables['attributes']['class'][] = 'site-' . $site;
    }