That's correct, there is a built in rule to allow it, but you could disabled it instead of blocking it :-)
if dhcp server is enabled, m0n0wall opens the necessary ports to allow this to work. If it's not enabled, the ports won't be opened and dhcp requests through the interface will fail as the next rule it hits blocks all traffic not from the interface subnet (dhcp broadcasts etc), this is described in status.php as anti-spoofing rule. All this happens before user specified rules are applied. This is what is happening to you now.
When m0n0wall went to bridge_if (1.3b17 (08/12/2009)) all bridging became filtered and this problem arose as there was no option for 'transparent' mode which bypassed this internal ruleset.
So, right now, in 1.3 if you want dhcp traffic through, you should enable the dhcp server.
If you don't want the built in server to respond, select 'only respond to reserved clients listed below'
If you don't want dhcp traffic through the interface, disable the built in dhcp server.
I am considering what the best 'fix' might be, probably a tick box on the bridged Interface or in advanced settings, to disabled the 'anti-spoofing' rule, which would prevent m0n0wall blocking dhcp (and multicast and other ranges of valid traffic) in bridged mode,.