How to use loadByProperties when one of the properties is an array?
Configuration entities are not queried via SQL, you search within a multilevel array.
See the code docs:
core/lib/Drupal/Core/Config/Entity/Query/Query.php
  /**
   * Overrides \Drupal\Core\Entity\Query\QueryBase::condition().
   *
   * Additional to the syntax defined in the QueryInterface you can use
   * placeholders (*) to match all keys of an subarray. Let's take the follow
   * yaml file as example:
   * @code
   *  level1:
   *    level2a:
   *      level3: 1
   *    level2b:
   *      level3: 2
   * @endcode
   * Then you can filter out via $query-&gt;condition('level1.*.level3', 1).
   */
  public function condition($property, $value = NULL, $operator = NULL, $langcode = NULL) {
    return parent::condition($property, $value, $operator, $langcode);
  }

In your case the second level keys are the same as the values. So you have to ignore the second level with an * to query these values.