Posts on here have several different visibility modes. You can set it by clicking on the visibility icon at the bottom of a post, which looks different depending on which mode it is in.
🌎 is public, everyone can see it
🔒 or 👥 is followers-only, only your followers can see it
@ is mentions-only, only accounts mentioned within the post can see it
To send a DM, set the post to mentions-only and then @ the receipients.
For more info & tips see the full length article at https://fedi.tips/who-can-see-my-posts-in-mastodon-how-do-i-send-dms-in-mastodon/