If TG's system is in any way "clever" it won't allow the booking as the passport expires before the flight. Of course the only way to find out is to try it.
The OP's issue is that his current passport expires before the initial flight. And as TG ask for passport number and expiry date when booking, presumably their system would not be able to proceed to completion.
Indeed the case. I would always say getting the non-O in your home country is better, it eliminates the need for a trip to immigration for one thing, and the minor airline issue.
As is widely reported these days, opening an account without a non-O is nigh on impossible. However, getting a non-O in your home country is easy. Doing that you make opening a bank account easy and avoid airline issues with onward tickets.