Barman not able to connect: fe_sendauth: no password supplied
After checking barman's source code, I've realized that barman is actually overwriting the conninfo string:

    # Override 'dbname' parameter. This operation is required to mimic
    # the behaviour of pg_receivexlog and pg_basebackup
    self.conn_parameters['dbname'] = 'replication' 


Which isn't very intuitive, thus the dbname in .pgpass should include replication db:

pg.example.com:5432:replication:barman:s3cr3tP2ssw0rd