Question: Because /i y u/ behave so differently to the other French vowels /ɛ ɑ œ ɔ/, which all have tense and nasal variants, while also being symmetrical to the semivowels /j ɥ w/, it is attractive to render them as the same.

I did see that there are minimal pairs like /lu.a/ vs /lwa/, but couldn't they be rendered as /lu.ua/ and /lua/, or would that make things more complicated than it simplifies?

Answer: 
It is in fact proposed, in Schane (1968) that French glides derive from vowels. Morin (1971: "Computer experiments in generative phonology: Low-level French phonology") pursues this further to handle some problems (formally restricting where the rule applies), followed by Dell (1972: "Une regle d‘effacement de i en français"). Lyche (1979 – "glides in French") criticises these analyses, but does not deny the existence of glide-vowel rules, instead she posits a different analysis which presages contemporary OT Output-Output constraints (alternativly, word-level cyclicity).

It is clear from these works and all subsequent discussion that glides in French are not allophones of high vowels, because of the "opacity" of the rules deriving glides. It is possible that French glides derive by rule from underlying vowels, but those rules are not allophonic.
/**lu.ua**/ (*loup où ah*) is not the same as /**lu.a**/ (*loua*).

If you want to avoid /**lwa**/ for ***loi***, you would want to use the non-syllabic diacritic: /**lu̯a**/ or a lower or upper tie bar /**lo͜a**/ /**lo͡a**/ to make clear it's a single syllable word and not the potentially two syllable ***loua***, arguably not a simplification.