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 = 7336 
WHERE 
  cscart_products_categories.product_id IN (
    91371, 91373, 91370, 91381, 91383, 91369, 
    91368, 91339, 91344, 91379, 91382, 
    91384, 91351, 91353, 91367, 91338, 
    91343, 91377, 91380, 92489, 92490, 
    92491, 92492, 92493, 92494, 92495, 
    91349, 91352, 91354, 91336
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01816

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "60.58"
    },
    "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": 67,
            "rows_produced_per_join": 67,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "6.98",
              "eval_cost": "6.70",
              "prefix_cost": "13.68",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (91371,91373,91370,91381,91383,91369,91368,91339,91344,91379,91382,91384,91351,91353,91367,91338,91343,91377,91380,92489,92490,92491,92492,92493,92494,92495,91349,91352,91354,91336))"
          }
        },
        {
          "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": 67,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "16.75",
              "eval_cost": "6.70",
              "prefix_cost": "37.13",
              "data_read_per_join": "1K"
            },
            "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": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "16.75",
              "eval_cost": "0.34",
              "prefix_cost": "60.58",
              "data_read_per_join": "8K"
            },
            "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
91336 7337,7336M 0
91338 7337,7336M 0
91339 7337,7336M 0
91343 7337,7336M 0
91344 7337,7336M 0
91349 7217M,7337
91351 7217M,7337
91352 7217M,7337
91353 7217M,7337
91354 7217M,7337
91367 7217M,7337
91368 7217M,7337
91369 7217M,7337
91370 7337,7217M
91371 7337,7217M
91373 7337,7217M
91377 7337,7217M
91379 7337,7217M
91380 7337,7217M
91381 7217M,7337
91382 7337,7217M
91383 7337,7217M
91384 7337,7217M
92489 7338,7313,7219M
92490 7338,7313,7219M
92491 7338,7313,7219M
92492 7219M,7338,7313
92493 7219M,7338,7313
92494 7313,7338,7219M
92495 7219M,7313,7338