Presumably they'd be fine running in a threaded context.

An extension written for a single threaded host system might not work in a multi-threaded context. For example if has global or shared state that isn't protected with locks or similar (which is unfortunately fairly common in c code)

Extensions like pgvector, TimescaleDB would probably need to be ported tho, not sure how much but there are footguns.

Not needed in many (most?) cases.