I have a Comcast SMC gateway in bridge mode with a Netgear R6300. This worked for me and may work for others as well but I'm not sure.
When I first got the Xbox One, I did everything according to Xbox support. Forwarded all the required ports, turned Upnp on, set the router nat setting to open. None of it worked. After waiting on hold for close to 50 minutes then giving up and trying chat support only to get someone who couldn't really help because they only knew the settings needed and nothing technical in nature, I decided to do a little poking around myself.
What I discovered was that while my router had all of the right settings, I had completely forgotten about the SMC gateway. I had it in bridge mode and didn't realize that it could and was still blocking ports before they even got to my netgear router much less the xbox.
So, I went into the SMC gateway and gave my Netgear router a static ip address and put that address in the DMZ zone (forwarding all ports to the router). For good measure I turned the SMC's firewall off completely, letting the Netgear's firewall take over.
With the correct settings already in my Netgear router, my Nat type immediately switched to open and has been ever since. I didn't even have to restart anything, though you may.
Hope this helps!