Coming back to this as I’m back trying to fix this and its causing me quite a lot of issues, but the expression I had is/was fine as it’s being used everywhere on the site in various forms (including the exact example I provided).
However, when it returns false, the “No Custom” attribute will just disable the entire text box. If it returns true, it functions as expected, where no custom inputs can be entered. Returning false should allow custom inputs.
The “test:” part on the left has the output of the app connect binding I previously posted.