O autor deste artigo está um pouco errado - no .NET 4.5, o Processamento Assíncrono é ignorada porque não é mais necessária. Você pode simplesmente iniciar chamar os métodos Async de SqlClient sem nenhuma string de conexão especial.
A execução assíncrona das operações depende do provedor de banco de dados. Por exemplo, a implementação padrão de DbCommand. ExecuteDbDataReaderAsync realmente é executado de forma síncrona e bloqueia o thread de chamada. SqlCommand substitui esse método e é executado de forma assíncrona.
Infelizmente, o NpgsqlCommand não substitui esse método, então você fica apenas com a execução síncrona.