I used to do this as I tend to receive a lot of scam/spam calls.
But it has its drawbacks.
The main issue for me is that even if the caller leaves a message you are still missing out on truly time sensitive calls. For exemple where I live it is pretty common for people doing deliveries to call your mobile number before attempting a delivery (usually for stupid reasons such as checking you’re home, not being able to find the exact building, or being unable to use the intercom). If you send them straight to voicemail, sure they’ll leave a message saying that they couldn’t get in touch and another delivery will be attempted the next day, but still you’ll miss your delivery and you might have the same issue the next day.
The second more minor drawback is that even if it isn’t that time sensitive and they leave a voicemail, if the reason for their call is important to you you still have to call back and follow-up on that voicemail. And in some cases doing this can be a lot more time consuming than picking-up the original call. For exemple say you raised a query with whichever company you are a client of and someone is calling you with a proposed resolution. If you pick-up you’ll be directly connected to someone who’s familiar with the matter and has an answer for your. While if you call back later you might have to wait 10 minutes in a customer service queue to speak to someone, and once it eventually happens that person might need to spend the first 5 minutes of the call understanding your problem and looking up what someone else in the company had already done about it.
Ideally Apple would have an AI based caller screening feature whereby if it is an unknown number the phone picks up the call, asks the caller why they are calling, and shows this to you on the screen before you decides to take the call, while the caller is informed that they are on hold while you decide whether to take their call.
You can partly emulate this with the real time voicemail transcription feature, but it is not as practical.