Consulta para filtrar usuarios por "campos personalizados" de registro

Si Pro Email es un campo de confirmación (casilla de verificación), establecer el parámetro field_value de la consulta en true funcionará.

Dado que lo único que deseas hacer es verificar que el campo se haya establecido, creo que esta versión de la consulta funcionará mejor para ti. Elimina el parámetro field_value y verifica que el campo nombrado se haya establecido con (ucf.value = '') IS NOT TRUE. Esto devolverá false para cualquier usuario que no haya establecido el campo, y también devolverá false para los usuarios que hayan establecido el campo y luego hayan eliminado el valor que asignaron:

--[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)

Si deseas que la consulta devuelva el valor del campo, cambia la sentencia SELECT final por:

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)