Se o Pro Email for um campo de confirmação (caixa de seleção), definir o parâmetro field_value da consulta como true funcionará.
Como tudo o que você deseja é verificar se o campo foi definido, acredito que esta versão da consulta funcione melhor para você. Ela remove o parâmetro field_value e verifica se o campo nomeado foi definido com (ucf.value = '') IS NOT TRUE. Isso retornará false para qualquer usuário que não tenha definido o campo e também retornará false para usuários que definiram o campo e depois excluíram o valor definido:
--[params]
-- string :field_name
-- string :group_name
WITH ucf_name AS(
SELECT
CONCAT('user_field_', id) AS name
FROM user_fields
WHERE name = :field_name
),
excluded_users AS (
SELECT
gu.user_id
FROM group_users gu
JOIN groups g
ON g.id = gu.group_id
WHERE g.name = :group_name
)
SELECT
u.id AS user_id
FROM users u
JOIN user_custom_fields ucf
ON ucf.user_id = u.id
WHERE ucf.name = (SELECT name FROM ucf_name)
AND (ucf.value = '') IS NOT TRUE
AND u.id NOT IN (SELECT user_id FROM excluded_users)
Se você quiser que a consulta retorne o valor do campo, altere a instrução SELECT final para:
SELECT
u.id AS user_id,
ucf.value
FROM users u
JOIN user_custom_fields ucf
ON ucf.user_id = u.id
WHERE ucf.name = (SELECT name FROM ucf_name)
AND (ucf.value = '') IS NOT TRUE
AND u.id NOT IN (SELECT user_id FROM excluded_users)