This is just a case of RTFM but I thought I'd share...
I'm setting up ingo with dovecot sieve. I first verified that dovecot's sieve server is working properly by using the thunderbird sieve plugin (which is a sort of pointless plugin, you end up having to write in sieve language anyway, i'd expect a nicer gui front end like ingo has).
After making my backends.local.php in ingo's config directory, I did a tcpdump to verify that the web server was talking to the sieve server. Sadly it wasn't. (Sidebar here - the port number changed from 2000 to 4190 and my services file didn't have the new port so I was opening the wrong port on the firewall for about half an hour).
The problem was that the default backends.php file has the imap backend on by default. To add insult to injury, it's in all *caps* too.
/* IMAP Example */
$backends['imap'] = array(
// ENABLED by default
$disabled => false,
After changing that false to true, horde started talking to sieve. I think this breaks the notion of making local configs in backends.local.php and leaving backends.php alone.