I'll be d****d. That last line there was commented out and read #pam_filter objectclass=account
which I gather is the default. Changing it to agree with your /etc/ldap.conf fixed the problem! This didn't come up in the last version because, following the aforementioned OpenLDAP Everywhere article, my old LDIF's had both "objectclass=account" and "objectclass=posixAccount" for users. The former apparently vanished from the inetorgperson.schema file somewhere between RH8 and FC1, and I removed it from my LDIF files in the transition.
nss_base_passwd ou=People,dc=domain,dc=com?one nss_base_shadow ou=People,dc=domain,dc=com?one nss_base_group ou=Groups,dc=domain,dc=com?oneHow necessary is this? I've got my ou's set to "people" and "group" instead of "People" and "Groups" respectively. Right now everything seems to work but who knows...I suppose I'd better change them too.