I'm having the same issue. I'm seeing SYN packets go out on my firewall, but no SYN+ACK coming back. A normal ICMPv6 ping and UDP traceroute work fine. But a TCP traceroute to port 6667 doesn't work. I can get to any IPv6 server port 80 and 443 just fine, but not a single IPv6 server port 6667.
Here's some debugging output (2001:470:8142:3::2 is me, 2001:6b0:e:2018::172 is a freenode irc server):
# tcpdump -ni gif0 port 6667
tcpdump: WARNING: gif0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
18:43:41.685493 IP6 2001:470:8142:3::2.49161 > 2001:6b0:e:2018::172.6667: Flags [S], seq 1070001761, win 65535, options [mss 1220,nop,wscale 6,sackOK,TS val 13840751 ecr 0], length 0
18:43:44.669321 IP6 2001:470:8142:3::2.49161 > 2001:6b0:e:2018::172.6667: Flags [S], seq 1070001761, win 65535, options [mss 1220,nop,wscale 6,sackOK,TS val 13843751 ecr 0], length 0
18:43:47.853217 IP6 2001:470:8142:3::2.49161 > 2001:6b0:e:2018::172.6667: Flags [S], seq 1070001761, win 65535, options [mss 1220,nop,wscale 6,sackOK,TS val 13846951 ecr 0], length 0
^C
3 packets captured
51 packets received by filter
0 packets dropped by kernel
# ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet 75.148.101.65 --> 72.52.104.74
inet6 fe80::213:20ff:fe5c:bf69%gif0 prefixlen 64 scopeid 0xf
inet6 2001:470:1f04:1a28::2 prefixlen 64
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
options=1<ACCEPT_REV_ETHIP_VER>