Alternative answers (as always) are welcome. This is my personal view.
Basic maintenance of Bitcoin Core etc would ensure Bitcoin and higher layers continue to work as they do today. In terms of future consensus changes (soft forks, hard forks) the only one I'm aware of that is absolutely needed is a timestamp change before the year 2106.
However, there are at least two things that are far from finished or currently optimal. The first is support at the base layer for higher layers like Lightning. Changes aren't needed per se but without some future consensus changes higher layers have to deal with problems (bloated storage requirements etc) that could be resolved. The second is support for base layer (digital) vaults or more complex scripting. The design of these vault like constructions is very limited by what script functionality is currently available on the base layer. Again not needed per se but restricts the security solutions for holding Bitcoin.
Or could a billion people start paying for things in bitcoin today and not run into major problems?
There are different ways of paying for things in Bitcoin. You can make an onchain transaction (base layer). You can make a transaction on a higher layer without necessarily needing to make an onchain transaction (e.g. Lightning). And then say two businesses could not use anything and just keep a record of what Bitcoin they owe each other.
If you're thinking about a billion people using Bitcoin then they can do the third option today (obviously). But if they want to use the first two options (and they should in my view because the third option is entirely trusted) then there is a lot more work to do. Development work but also onboarding users because testing the limits of what current solutions can do incentivizes more innovation on those higher layers. As of today we are nowhere near testing the limits of what is currently available and so that stunts innovation on those higher layers.
My personal view is that before 2106 there will be block size increases attempted too as they can increase transaction throughput on the base layer and on higher layers. But it doesn't make sense to do them until you have exhausted what is currently possible with today's block size.