If it works from SSMS and not from ADF that is because the login you use from SSMS has the required permissions, in difference to the login from ADF. The topic for cdc.fn_cdc_get_net_changes says this in the permission section:
Requires membership in the sysadmin fixed server role or db_owner fixed database role. For all other users, requires SELECT permission on all captured columns in the source table and, if a gating role for the capture instance was defined, membership in that database role. When the caller does not have permission to view the source data, the function returns a row with NULL values for all the columns.
I would guess your SSMS user has the SELECT permissions needed (or is an admin).