On ufs (and tmpfs and perhaps others), reading from or writing to a fifo updates its [acm]time -- even on read-only file systems (although in that case the changes are not written to disk). It's been this way since r1.1 of ufs_vnops.c.
Why? Conceptually, what is actually read from the fifo object in the file system, or what actually changes in the object when you write to it? And what applications would ever rely on the [acm]time of a fifo? One consequence of this is that in a vanilla NetBSD install, Postfix triggers disk I/O every minute when master tickles the pickup daemon by writing to the fifo /var/spool/postfix/public/pickup. Note that the same [acm]time updates do not apply to sockets.