Has anyone bought basic points recently and can confirm that this should work?
You can buy at most 30k points, so the option only appears once you've collected at least 60k points (when renewing EBD. For EBG, you need to collect 30k and can buy the missing 15k).
I recently bought a handful of points to maintain Gold, and the process was quick and painless, as expected. You're looking in the right place -- but the option will only appear once you have 60k confirmed points. I understand that the bought points are backdated by 123 days, so you might be able to renew even if your flights credit late, but with the expiring points you may want to not tempt fate.
Can I select a tranche of my oldest points - the ones due to expire - for this?
IIUC the system will always use your oldest points first for any purchase. Also, once you renew EBD, your points will not expire for another year.
So to me it seems a no-brainer to spend 50,000 extra points to get to EBD and prevent 90,000 points from expiring. Am I missing something here?
You're spending 50k points to protect 40k from expiring and maintain EBD for another year. You could also spend the 90k on an award ticket instead. The points expire at the end of January, but the award ticket that you bought with the points can be for a later date this year. (And probably be changed flexibly.)