Locking them in for a few days really does work well.
If you don't want them locked in all day, you could try locking them in shortly before bedtime, but you might have trouble getting them to go in, especially at first (because it's new and scary, or because they want to keep playing outside.)
I would catch the chickens while they are asleep tonight, and put them in a dog crate or something similar for the day. That will keep them from running away in terror (new coop) or getting underfoot and injured (if they are not scared of what is happening.)
Then, once the new coop is in place, I would put in bedding/feed/water, and shut the chickens inside. I would not let the chickens out until the next day at the earliest, and probably the day after that. By that time they should be quite familiar with the inside of the new coop, so going in will not be scary. But keep them in their run for another day or two, so they cannot try sleeping in trees. You would still need to check every evening to put in any stragglers, until you see that they have developed the habit of going in by themselves.
I understand that you are looking for alternatives, but methods like this are commonly recommended because they DO work well for most people and most chickens. Most chickens are hard to catch in the daytime, panic about new things, and settle down fairly soon when they learn the new thing will not hurt them. What I suggested is meant to address all of those points, while also helping them form a new habit of sleeping inside.
Edit to add:
I just noticed you are in California. With a "very protected covered run," I do not see why the chickens would need to sleep inside at all. But if you want them to, then it's just a matter of providing a suitable place (which your new coop should do) and retraining them.