If I may say I think there is a little confusion in your understanding of the Matrix routing syntax.
I was able to use X+ X /-aircraft in an attempt to exclude mainline narrowbodies on the final leg of the outbound trip; however, this started giving me options like flying through Copenhagen.
X+ X / -aircraft ... means you want at least three flights on your outbound itinerary, none of which can be operated by any of the aircraft stated: read it as at least one connection point (
X+) followed by another connection point (
X) (so now at least three flights) and no flight may be operated by any of the aircraft types given (
-aircraft ...). You left the Embraers out of your list of banned aircraft types, so it is possible, but to satisfy these constraints we have to do things like go to Copenhagen.
X+ l:nUS / -aircraft ... means you need at least one connection point (anywhere in the world) followed by one connection point in the USA, and no flight may be operated by the list of aircraft types given. Your undoing here is probably trying to go between at least two US points without using the aircraft specified.
One idea is to use
l:nUS* / -aircraft t:757 t:752 t:753 t:737 t:738 t:73G t:320 t:321 t:32A t:32B t:32C t:32D as the routing syntax---the star there after
l:nUS means any number of US points (possibly zero), which may be sufficiently relaxed to find some appropriate journeys. However if your friend can't stand a narrowbody over the Atlantic, perhaps he wouldn't enjoy a barbie jet in the US either.
If you really do need to connect internally on a narrowbody aircraft of a type that you would not allow over water, then you need to be a bit more discerning. You can use the multicity tab to break up the journey into four parts: outbound in the US, over water to
KEF, back from
KEF, and then inbound in the US.
Unfortunately you need to know the break points, you cannot leave them implied. To find them, we can look at
KEF's wikipedia page to obtain a list of all the airports served from
KEF. This isn't always totally accurate but it will suffice for our purposes. The list of north American points served is
SFO. You may decide that some of these points would be unacceptable and they can be omitted from your search. We can use those as our break points to construct something like the screenshot below. Notice that we must unselect "allow airport changes".
Notice that I only apply the aircraft restriction to the overwater sector (and I force that to be exactly one flight with the
The second disadvantage is that we cannot use calendar search from the multicity view. (If you want to use a calendar search, it is better to leave the search relaxed to narrow down the time window based on price, iterating backwards and forwards between a restricted multicity and a relaxed calendar search.)
When you come to select flights, I tend to use the "time bars" view. You may find it better to select the longhaul flights first and then select the feeder flights, instead of doing it in the "correct" order.