Here's what I found with ours;
The XB1 running CoD sets up a Demonware port in UPnP and makes a connection to the Demonware (Activision CoD) server using the server port 3074 as the destination.
However, Demonware then makes a separate connection from a different server on server port 3075 to port 3076 on your public IP address. It only does this once. pfSense CE's normal behaviour is to block this unsolicited traffic.
As soon as I created a NAT forward source: Any:3075 destination: WAN address:3076 to the XB1 & the associated firewall rule, I got open NAT in CoD. (Now of course I changed Any to the Demonware IPs for better security, but this was just for the test)
So it seems,
If you are not forwarding (nor permitting in the firewall rules) port 3076 to your XB1, you will get NAT type moderate in CoD.
If you are forwarding (and permitting in the firewall rules) port 3076 to your XB1, you should get NAT type open in CoD.
Of course, this Demonware/Activision server configuration/behavior means that only 1 XB1 can get an open NAT type in CoD due to the NAT forwarding of port 3076 to only 1 XB1. We have multiple XBox's & PC's, so only 1 XB1 can get an open NAT type in CoD.
In your case, you might want to verify that you have a NAT forward & permit rule of inbound WAN destination port 3076 to your PC. In fact, I would suggest logging this traffic so that you can see the inbound successful connection. Because if you don't see the inbound packet at all, it means it's being blocked farther up your WAN (like your ISP)
Also, feel free to post a screen shot of your Status / UPnP&NAT-PMP page while the game is running (which should show your Teredo port & your Demonware port).