SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 7195 
WHERE 
  cscart_products_categories.product_id IN (
    91774, 91776, 91778, 91780, 92526, 91783, 
    91784, 91777, 91779, 92525, 92532, 
    92524, 92527, 92528, 92539, 92531, 
    92538, 92529, 92530, 92523, 92536, 
    92540, 90702, 90706, 90648, 90687, 
    90629, 92537, 90714, 90720
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00143

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "41.68"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 46,
            "rows_produced_per_join": 46,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "4.88",
              "eval_cost": "4.60",
              "prefix_cost": "9.48",
              "data_read_per_join": "736"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (91774,91776,91778,91780,92526,91783,91784,91777,91779,92525,92532,92524,92527,92528,92539,92531,92538,92529,92530,92523,92536,92540,90702,90706,90648,90687,90629,92537,90714,90720))"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 46,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "11.50",
              "eval_cost": "4.60",
              "prefix_cost": "25.58",
              "data_read_per_join": "736"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 2,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "11.50",
              "eval_cost": "0.23",
              "prefix_cost": "41.68",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
90629 7331,7253M
90648 7331,7253M
90687 7331,7253M
90702 7331,7253M
90706 7331,7253M
90714 7330,7285M
90720 7330,7285M
91774 7254M
91776 7254M
91777 7254M
91778 7254M
91779 7254M
91780 7254M
91783 7254M
91784 7254M
92523 7254M
92524 7254M
92525 7254M
92526 7254M
92527 7196,7195M 0
92528 7196,7195M 0
92529 7196,7195M 0
92530 7196,7195M 0
92531 7251,7195M 0
92532 7251,7195M 0
92536 7254M
92537 7254,7195M 0
92538 7254,7195M 0
92539 7254M
92540 7251,7195M 0