I'm using openldap-2.3.32, loglevel = -1 (log grows at 2MB/minute),
and neither of those tests work. I've even tried with and without the
@REALM.

Can you run your slapd in debug mode (-d -1), and your saslauthd in debug
mode (-d)?
Try performing your SASL PLAIN bind, and then your non-sasl pass-through
bind, and let us have a look at any relevant output you're seeing from
either daemon. It might help to have a look at both to compare.
--
Dan White