The issue also manifests when the array whose type decays to a pointer is a member of a struct:

struct SAC {
  char m[64];
};

void str_from_struct(_Optional const struct SAC *pocs)
{
  static_assert(_Generic(pocs->m,
                         const char *: 1,
                         default: 0)); // FAIL: static assertion failed
}