As UBI gave a ridiculous long but incomplete list of ports which have to be forwarded to make R6-Siege report the NAT type to be open, I decided to figure out on my own what I really need to make R6-Siege report an open NAT type as UPNP and a never ending list of ports which have to be forwarded is not an option for me.
So let me first quote the ports provided from UBI:
Uplay
TCP: 80, 443, 13000, 13005, 13200, 14000, 14001, 14008
Rainbow Six: Siege
UDP 10000-10099, 3074, 6015
TCP 80, 443
Source: CONNECTIVITY ISSUES IN RAINBOW 6 SIEGE
Once I configured that list, the NAT type reported was still "moderate". So I looked at "Process Monitor" (Sysinternals) and Wireshark on which ports R6-Siege is hogging. After launching it a couple of times while my desktop was configured as "exposed host" (all ports directly forwarded to it) it looked like R6-Siege is picking a random UDP port from 50000 onward.
This range 50000-60000 was missing in the list of UBI. After adding this R6-Siege always (until now) reported an open NAT type.
After further trying to narrow the required ports down, I ended up with a single UDP port and a range of UDP-Ports which have to be forwarded:
TCP: 6015
UDP: 6015, 50000-60000 (if this fails for you, try UDP 49152-65535)
If I should figure out this is wrong for whatever reason, I will update it here.
Update 28.12.2015:
I made a mistake while writing this. It requires only the above UDP ports. I attached a screenshot of my Fritz!Box port forwarding settings.
Update 02.01.2016:
Some players had to extend the port range to 65000 *sigh* and it might depend to which data center you are connecting.
Update 16.06.2016:
Nyr suggested, that Ubi is using the entire range from port 49152 to 65535. This range is delegated for private use or custom services and not officially assigned by IANA.
So if the above mentioned port range fails on you, try forwarding the entire UDP range from port 49152 to 65535.
Update 30.07.2016:
Looks like 6015 was unnecessary (It was the local port. The remote port was UDP 9103)