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 = 493 
WHERE 
  cscart_products_categories.product_id IN (
    41428, 1775, 37665, 2248, 41445, 5467, 
    3996, 35733, 5448, 951, 4363, 31732, 
    2256, 4268, 4267, 3994, 2247, 5775, 
    41616, 36496, 2251, 36271, 37545, 45282, 
    41007, 5771, 4001, 41410, 41010, 41411, 
    41226, 5447
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00221

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "cscart_products_categories",
          "access_type": "range",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "rows": 48,
          "filtered": 100,
          "index_condition": "cscart_products_categories.product_id in (41428,1775,37665,2248,41445,5467,3996,35733,5448,951,4363,31732,2256,4268,4267,3994,2247,5775,41616,36496,2251,36271,37545,45282,41007,5771,4001,41410,41010,41411,41226,5447)"
        }
      },
      {
        "table": {
          "table_name": "cscart_categories",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "ref": ["dev_db.cscart_products_categories.category_id"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "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')"
        }
      },
      {
        "table": {
          "table_name": "product_position_source",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "PRIMARY",
          "key_length": "6",
          "used_key_parts": ["category_id", "product_id"],
          "ref": ["const", "dev_db.cscart_products_categories.product_id"],
          "rows": 1,
          "filtered": 100
        }
      }
    ]
  }
}

Result

product_id category_ids position
951 143M
1775 320,412,319M
2247 160M
2248 160M
2251 160M
2256 154M
3994 157M
3996 157M
4001 155M
4267 209,316M
4268 209,316M
4363 191M
5447 191M
5448 191M
5467 191M
5771 184M
5775 315,184M
31732 165M
35733 313,191M
36271 317,210,158M
36496 318M
37545 163M
37665 163M
41007 166,194M
41010 166,194M
41226 120M
41410 209,150M
41411 150,209M
41428 213,210,318M
41445 154M
41616 120M
45282 210,154M