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 = 1320 
WHERE 
  cscart_products_categories.product_id IN (
    328055, 163893, 178330, 180437, 204532, 
    219115, 225101, 279058, 294256, 317506, 
    317925, 317927, 317954, 317957, 325706, 
    326901, 19570, 31825, 31826, 154780, 
    161165, 177148, 178072, 178114
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00141

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "25.50"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt",
              "position",
              "category_position"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 24,
            "rows_produced_per_join": 24,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "2.67",
              "eval_cost": "2.40",
              "prefix_cost": "5.07",
              "data_read_per_join": "384"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`unicomps`.`cscart_products_categories`.`product_id` in (328055,163893,178330,180437,204532,219115,225101,279058,294256,317506,317925,317927,317954,317957,325706,326901,19570,31825,31826,154780,161165,177148,178072,178114))"
          }
        },
        {
          "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",
              "unicomps.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 24,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "9.62",
              "eval_cost": "2.40",
              "prefix_cost": "17.10",
              "data_read_per_join": "384"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id",
              "storefront_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "unicomps.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "19.97",
            "cost_info": {
              "read_cost": "6.00",
              "eval_cost": "0.48",
              "prefix_cost": "25.50",
              "data_read_per_join": "19K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`unicomps`.`cscart_categories`.`storefront_id` in (0,1)) and ((`unicomps`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`unicomps`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`unicomps`.`cscart_categories`.`usergroup_ids`))) and (`unicomps`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
19570 1342M
31825 1342M
31826 1342M
154780 1342M
161165 1342M
163893 1342M
177148 658M
178072 666M
178114 666M
178330 658M
180437 675M
204532 1343M
219115 1346M
225101 1342M
279058 1350M
294256 1342M
317506 1342M
317925 1343M
317927 1343M
317954 1342M
317957 1342M
325706 658M
326901 1342M
328055 1342M