I think  you're right that foot=permissive *should* override access=no, but this means that access=no serves no function and is confusing. But whatever the theory, Carto is rendering the path in grey for "no access", i.e. the access=no is (incorrectly?) overriding foot=permissive rather than the other way round. 

