This is for strictly DSA not something like pair programming. This is also for Jr/Mid level interviews
For larger companies that are hiring a lot, you have more flexibility in scheduling the technical round. e.g. They will most likely still be hiring a month from now.
This is important for negotiation purposes, to line up interviews so you get offers around the same time.
You won't have as much flexibility with smaller companies, so I'd start those later in the process.
Short answer: Ask your recruiter how far you can put it out. This is for a different use-case, but follow the communication principles from the course lesson here: https://www.jointaro.com/course/ace-your-tech-interview-and-get-a-job-as-a-software-engineer/talk-to-your-recruiter/
Long answer: I don't think there's any real pattern in terms of time-frame among all the company types you mentioned. Big Tech has more hiring power (so they'll get more candidates) but it's not like FAANG needs to fill an L3/L4 headcount ASAP. Startups have less hiring power, but they need to fill headcount more urgently.
What I will say is that in this market, roles get filled up fast. I have seen companies put up a role and it's filled in just 2-3 weeks (which is crazy fast once you realize this means they did resume review -> phone screen -> onsite -> extend offer -> offer accepted). Unless the company does central hiring like Google/Meta, you probably can't ask them to put the phone screen like 1 month out. For something as straightforward as a DSA phone screen, I think 2 weeks out is fine. But again, it really depends on the company - Just talk to your recruiter.