PF pfctl rdr to localhost and bridge


I'm trying to setup a transparent Squid proxy on a bridge using PF. It looks like the redirected TCP connection is blocked. But it cannot be blocked because I have "pass" for everything. It's almost like the redirected traffic disapeared.

The rdr rule comes from pf.conf(5) and it works when the system acts as a router instead of bridge.

Rule (a.k.a /tmp/rules):
set skip on lo0
set block-policy return
rdr pass log on fxp0 proto tcp from any to any  port 80 -> port 8080
pass in log
pass out keep state

I've tested the following sequence using live CD FreeBSD-10.3-RELEASE-amd64-mini-memstick and FreeBSD-11.0-RELEASE-amd64-mini-memstick. Both with the same result.

ifconfig bridge create
ifconfig bridge0 addm fxp0 addm em0
ifconfig fxp0 up
ifconfig em0 up
ifconfig bridge0
service pf onestart
service pflog onestart
vi /tmp/rules
pfctl -f /tmp/rules
pfctl -e
nc -l 8080

The nc receives nothing, and the pfctl -s states shows that the connection is not established
all tcp ( <-       CLOSED:SYN_SENT
But the rdr rule matched, the tcpdump -tt -eni pflog0 shows:
1481179615.198895 rule 0..16777216/0(match): rdr in on fxp0: > Flags [\S], seq 1732094875, win 65228, options [mss 1460,nop,wscale 7,sackOK,TS val 117825669 ecr 0], length 0

What am I missing? PF should not block anything here.
The same rule works without a bridge (system acts as a router instead). And is suggested at
Slightly modified rule works on a bridge - when the traffic is redirected to other host and still goes to the same output interface.