You missed this part in the User's Guide...
NOTE: Translated packets must still pass through the filter engine and will be blocked or passed based on the filter rules that have been defined.
I read it, but I didn't grok it.
The rdr rule didn't work because you didn't add a rule to allow the traffic through. Adding the ``pass'' keyword is a shortcut for adding such a rule but depending on what you're doing you might want to write a proper pass rule instead of using the shortcut.
rdr pass on $ext_if proto tcp from any to any port 80 -> 192.168.1.127 \ port 80
-J