Postgres - how to find contents of one field within another field
The path should be based on the sequence in the other field, sometimes it isn't and I want to identify these rows


So the absence of any actual position is what you are looking for, which is simpler:

SELECT recordId, path
FROM   table_a
WHERE  path !~ recordId::text;


Note the cast to text (or varchar, all the same).

Do NOT cast to char like you have it in your added (broken) solution. char is a synonym of character (or bpchar) and defaults to character(1) (!), so effectively only takes the first digit of your number and produces many false positives. Related:


Best way to check for “empty or null value”


!~ is the operator for negated regular expressions 

NOT LIKE would do the job, too:  

...
WHERE path NOT LIKE ('%' || recordId::text || '%');