'Semi-detached' can be used about the end unit of a long chain of terraced houses, so while a semi-detached can be part of a duplex, it might also not be.
Building with two separate housing units. In most of the US, probably similar to what you call a "semi-detached" or Germans call "Doppelhaushälfte" (units are next to each other, sharing a wall in the middle), but especially in the Northeast, sometimes a larger old house split by floors (ground floor and basement as one unit, second floor and attic as another unit, with some sort of separate entrance to reduce disturbance of first unit residents)
To be a duplex, it needs to be 2 homes on one property that are touching. It is expected that the wall would be shared and that the two homes would be mirror images of each other. There exist houses that touch each other but are on separate lots; these are not duplexes.
A townhouse is 2-story and it touches another one. It could be a duplex, but it might be on a separate lot or it might be part of a group of more than 2.
A single property (usually a single building) consisting of exactly 2 housing units.
> I guess "semi-detached" would be closest but not sure?
Semi-detached is similar, but AFAIK usually refers to separate properties sharing a wall not two housing units on one property. There appear to be regional variations in both terms, though.
Coming from the East Coast of the U.S. I always called these houses twins. One building with two housing units side by side, usually mirror images of each other. We would refer to a building with two housing units above and below each other as a duplex.