Are your services actually running on this computer when you do the scans?
That's pretty much the only reason you would be getting a 'closed' port state, as outlined below.
General behavior:
With no forwarding rule
Inbound connection hits router. Router checks to see if any router services are running on this port. If not, router checks if any NAT translations or forwarding rules exist. If none, router does not respond based on firewall rule and port appears 'stealth'.
With forwarding rule at router but firewall on PC
Inbound connection hits router. Assuming router does not have services running on this port, checks forwarding rules. Forwards to specific IP listed in configuration. Internal host firewall receives connection, checks rules if outbound-originated connectivity is allowed in it's access list. If not, PC does not respond based on firewall and port appears 'stealth'.
Forwarding rule + disabled client firewall or permissive access list
Inbound connection forwarded by router. Connection received by internal host. Internal host checks to see if any service is running on this port. If so, port will appear as 'open' as it is actively accepting connections on this port. If there is no service running on this port, a 'port closed' message is sent. This notifies the originator that the host is responsive, there just isn't anything running on this port at this time.