how to dump a case-sensitive table within a specific schema
When you specifies the schema name to unload it does not mean that it will be default schema to search objects:
nd@postgres=# create schema foobar;
CREATE SCHEMA
nd@postgres=# create table foobar.&quot;Foo&quot;();
CREATE TABLE
nd@postgres=# \! pg_dump --schema=foobar -t &quot;Foo&quot;
pg_dump: no matching tables were found

So you should to fully qualify the table name:
nd@postgres=# \! pg_dump --schema=foobar -t 'foobar.&quot;Foo&quot;'
--
-- PostgreSQL database dump
--
... etc ...

Excerpt from the documentation (cursive and bold is mine):

The -n and -N (--schema) switches have no effect when -t is used, because tables selected by -t will be dumped regardless of those switches, and non-table objects will not be dumped.
Formerly, writing -t tab would dump all tables named tab, but now it just dumps whichever one is visible in your default search path.