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 (
    100422, 100423, 100424, 100425, 100426, 
    100427, 100428, 100429, 100430, 100477, 
    100478, 100500, 100503, 100849, 100850, 
    100851, 100852, 100857, 100858, 100859, 
    100860, 100861, 100862, 100867, 100868, 
    100869, 100870, 100877, 100878, 101055
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00060

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "33.57"
    },
    "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": 37,
            "rows_produced_per_join": 37,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "3.97",
              "eval_cost": "3.70",
              "prefix_cost": "7.67",
              "data_read_per_join": "592"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (100422,100423,100424,100425,100426,100427,100428,100429,100430,100477,100478,100500,100503,100849,100850,100851,100852,100857,100858,100859,100860,100861,100862,100867,100868,100869,100870,100877,100878,101055))"
          }
        },
        {
          "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": 37,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "9.25",
              "eval_cost": "3.70",
              "prefix_cost": "20.62",
              "data_read_per_join": "592"
            },
            "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": 1,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "9.25",
              "eval_cost": "0.19",
              "prefix_cost": "33.57",
              "data_read_per_join": "4K"
            },
            "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
100422 7254M
100423 7254M
100424 7254M
100425 7254M
100426 7254M
100427 7254M
100428 7331,7253M
100429 7252M
100430 7252M
100477 7287M
100478 7287M
100500 7196M
100503 7196M
100849 7286M
100850 7286M
100851 7286M
100852 7286M
100857 7286M
100858 7287M
100859 7287M
100860 7287M
100861 7287M
100862 7287M
100867 7330,7285M
100868 7330,7285M
100869 7330,7285M
100870 7330,7285M
100877 7330,7285M
100878 7330,7285M
101055 7254M