Wiktionary describes one of them coming from Latin, and the other from proto-Germanic. Does this mean they're unrelated, even though they're homonyms and both about geometric properties (narrowness and not bending)?
Wiktionary, despite its lack of reliability and comprehensiveness, is in the right direction. Etymonline (which uses OED) has a more detailed explanation:
strait (the adjective for narrow) is cognate with French 'étroit' both from Old French estreit, estrait from Latin strictus. Etymonline says "More or less confused with unrelated 'straight' "
straight (the adjective for direct) is from Old English streht from streccan "to stretch".
So even though they came from different sources (as evidenced by the purely distinct derivation lines), the sounds help make the meanings converge.
It may very well be the case that the latin strictus and Germanic streccan may be cognate, but even if so, they arrived in English from different paths.
ODO says they have a connection, although they came from different sources.
The word straight is the old past form of Old English stretch, and originally meant ‘extended at full length’. The sense relating to an alcoholic drink, ‘undiluted’, is the American equivalent of neat and dates from the middle of the 19th century. The straight and narrow is the honest and morally acceptable way of living. The earliest example of this expression was the longer the straight and narrow path (or way). It arose through a misunderstanding of the meaning of a word in this passage from the Gospel of Matthew: ‘Because strait is the gate, and narrow is the way, which leadeth unto life, and few there be that find it’. Strait (Late Middle English) here simply means ‘narrow’, from the same source as strict, a sense which only really survives today in the noun meaning ‘a narrow passage of water connecting two seas’, as in the Straits of Gibraltar. The confusion probably came about because crooked, the opposite of straight, had long been used to mean ‘dishonest’.
Straight - Middle English (as an adjective and adverb): archaic past participle of stretch.
Strait - Middle English: shortening of Old French estreit 'tight, narrow', from Latin strictus 'drawn tight' (see strict)
'Strait' seems to carry connotations of constraint as well as narrowness and is used in several expressions where 'straight' is meaningless, for example 'dire straits' and 'straitened circumstances'. In these expressions there is the connotation of the person in the condition having their choices constrained.
When the Authorised Version of the Bible was produced in the 17th century the word 'strait' was common and it would seem that it carried slightly different connotations from 'narrow' since the passage quoted above uses both words to give emphasis by contrast. John Bunyan emphasised this in The Pilgrim's Progress by having his hero enter the way to salvation through a wicket gate.