It actually is possible to achieve what you want, the docs are little outdated.
The 'correct' way to setup a server , is to put it in a DMZ. so in m0n0wall have a third NIC (physical or vlan) and use it for your server. A DMZ is the 'correct' setup as you have different levels of access lists, so if your server is compromised they don't get full access to your LAN. see rationale
http://en.wikipedia.org/wiki/DMZ_(computing)
If you take a DMZ approach, you can NAT from LAN to DMZ based on the external IP, so anyone on LAN accessing the public IP will work as you wish. (create a nat rule, set source to be LAN and address to be wan interface).
as Fred and Lee have said, ipfliter (used in m0n0wall) doesn't do what you want.
http://doc.m0n0.ch/handbook/faq-lannat.html . It's not really a bug, as it was never expected to work and therefore isn't broken, it's actually a feature request for ipfilter
http://www.phildev.net/ipf/IPFprob.html#prob8