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 
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') 
WHERE 
  cscart_products_categories.product_id IN (
    103976, 103975, 103974, 103973, 103972, 
    103971, 103970, 103969, 103968, 103967, 
    103966, 103965, 103964, 103963, 103962, 
    103961, 103960, 103959, 103947, 103946
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00036

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE cscart_products_categories range PRIMARY,pt pt 3 21 Using where; Using index
1 SIMPLE cscart_categories eq_ref PRIMARY,c_status,p_category_id PRIMARY 3 toolboxdigitalshop_dev.cscart_products_categories.category_id 1 Using where

Result

product_id category_ids
103946 4M
103947 18,13M
103959 4M
103960 4M
103961 4M
103962 4M
103963 4M
103964 4M
103965 4M
103966 4M
103967 4M
103968 4M
103969 4M
103970 4M
103971 4M
103972 4M
103973 4M
103974 4M
103975 4M
103976 4M