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 (
    100818, 100819, 100820, 100821, 100822, 
    100823, 100824, 100825, 100826, 100827, 
    100828, 100829, 100830, 100831, 100832, 
    100833, 100834, 100835, 100836, 100837, 
    100838, 100839, 100840, 101022, 101023, 
    101024, 101025, 101026, 101027, 101028
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01654

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "74.99"
    },
    "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": 83,
            "rows_produced_per_join": 83,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "8.59",
              "eval_cost": "8.30",
              "prefix_cost": "16.89",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (100818,100819,100820,100821,100822,100823,100824,100825,100826,100827,100828,100829,100830,100831,100832,100833,100834,100835,100836,100837,100838,100839,100840,101022,101023,101024,101025,101026,101027,101028))"
          }
        },
        {
          "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": 83,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "20.75",
              "eval_cost": "8.30",
              "prefix_cost": "45.94",
              "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": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "20.75",
              "eval_cost": "0.42",
              "prefix_cost": "74.99",
              "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')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
100818 7313,7338,7219M
100819 7313,7338,7219M
100820 7313,7338,7219M
100821 7219M,7313,7338
100822 7219M,7313,7338
100823 7219M,7313,7338
100824 7313,7338,7219M
100825 7338,7219M,7313
100826 7338,7219M,7313
100827 7313,7219M,7338
100828 7313,7219M,7338
100829 7313,7219M,7338
100830 7219M,7338,7313
100831 7313,7338,7219M
100832 7338,7219M,7313
100833 7313,7338,7219M
100834 7313,7338,7219M
100835 7313,7338,7219M
100836 7313,7338,7219M
100837 7219M,7338,7313
100838 7219M,7313,7338
100839 7219M,7313,7338
100840 7338,7313,7219M
101022 7337,7217M
101023 7337,7217M
101024 7337,7217M
101025 7337,7217M
101026 7337,7217M
101027 7337,7217M
101028 7337,7217M