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 = 7184 
WHERE 
  cscart_products_categories.product_id IN (
    92470, 92471, 91348, 85585, 89180, 90074, 
    91892, 92150, 85653, 91361, 91363, 
    91391, 91393, 92197, 92457, 89727, 
    91362, 91364, 83096, 83098, 84102, 
    86385, 92240, 92245, 92247, 92248, 
    92249, 92250, 92252, 92253
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00161

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "43.98"
    },
    "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": 77,
            "rows_produced_per_join": 77,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "7.99",
              "eval_cost": "7.70",
              "prefix_cost": "15.69",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (92470,92471,91348,85585,89180,90074,91892,92150,85653,91361,91363,91391,91393,92197,92457,89727,91362,91364,83096,83098,84102,86385,92240,92245,92247,92248,92249,92250,92252,92253))"
          }
        },
        {
          "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": "19.25",
              "eval_cost": "0.39",
              "prefix_cost": "42.64",
              "data_read_per_join": "10K"
            },
            "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')))"
          }
        },
        {
          "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": 3,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.96",
              "eval_cost": "0.39",
              "prefix_cost": "43.99",
              "data_read_per_join": "61"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
83096 7186M
83098 7184,7187M 0
84102 7186M
85585 7341,7342,7343,7157M
85653 7186M
86385 7184,7187M 0
89180 7186M
89727 7184,7187M 0
90074 7186M
91348 7337,7217M
91361 7337,7217M
91362 7337,7217M
91363 7337,7217M
91364 7337,7217M
91391 7337,7217M
91393 7337,7217M
91892 7341,7342,7343,7157M
92150 7341,7342,7343,7157M
92197 7341,7342,7343,7157M
92240 7313,7338,7219M
92245 7313,7338,7219M
92247 7313,7338,7219M
92248 7313,7338,7219M
92249 7313,7338,7219M
92250 7313,7338,7219M
92252 7313,7338,7219M
92253 7313,7338,7219M
92457 7341,7342,7343,7157M
92470 7341,7342,7343,7157M
92471 7341,7342,7343,7157M