Since the firewall (and NAT) in a router will be keeping track of the state of all connections, so that it knows what incoming packets to accept based on if they are part of or related to an existing connection, I suppose it's not too much extra work to modify a relatively small number of packets.
Yes, the MSS altering is only applicable to TCP, it can't help with UDP. But then I'm not sure setting yourself a lower MTU is going to help if a remote server sends you a 1500 byte UDP packet.
A smaller packet size will be very slightly less efficient, since a slightly greater proportion of your bandwidth will be carrying TCP/IP headers, but the difference is so small it may be too small to reliably measure any download speed difference let alone notice it.