My question is, will completing the four JS courses give me the knowledge to do these 20 projects?
They might, but you shouldn’t rely solely on freeCodeCamp as the source of learning. That is just unrealistic and isn’t how you would learn new things anyway. You are going to have to research a bunch of topics using other sources.
Some of those are full stack, some are front end
Quality Assurance certification can also be needed for those
And also the Data Viz one, actually
Trying to pass all the take-home code without expanding your learning to more than just freeCodeCamp just seems unrealistic and an odd limitation to put on your learning.
Although I haven’t really looked at the specific challenges, I’m sure the challenges are set up in a way so that they cover knowledge taught by the curriculum (at least to some extent).
When I’m reading the project description, how can I decide which technologies will be best to use?
It should be more obvious after you have learned about the different required knowledge, if you skip part of the curriculum it may not be as obvious but you should still be able to figure it out.
If it needs an API, you need some backend code. If it asks for a graph or mapping of data you need some sort of data viz. And so on.
I don’t think you are restricted to technologies taught in the curriculum (libs and whatnot) and “best” is subjective.