Selecting subnets for a Service in Fargate
No question is noob. I have been working on Fargate since inception and I don't even know the answer to all of your questions! Anyway, what you see there are subnets that are eligible to launch tasks (as part of your service). If you have one task, it will be deployed to one of them (picked randomly). If you have many tasks, we will (best effort) spread them across all those. You would usually either pick either all public subnets or private subnets (depending on your architecture). Assuming the service allows you to pick heterogeneous subnets (which I am not sure about) I'd treat it as a logical configuration error.
You are defining the subnets where your Fargate container can run. You can choose any subnets you like, but I would choose public / private based on the workload and whether it needs to access the internet. If it's a web server then you would usually choose public, if it's an application server that just talks to a database choose private.
Once set up Fargate will put the task in whichever subnet it chooses, you have no control, that's the benefit of a managed service.