I don’t prevent enemies from coming in. Active experience gain (fighting) is much, much faster than passive (patrolling) exp gain for military types, so I want the enemy to get to my settlement; I just want them to do it from a particular place so I have the upper hand. By letting the enemy come at you and die, you’ll keep your troops levelled up. Those passive abilities that they get make those levels really, really worthwhile. If you rush a cleric you should have one by game day 5 or 6, and once you have a cleric, you don’t need to win fights without a scratch, you just need to have everyone survive and that cleric will get everyone healed back to full in moments.
The only downside to peninsulas for me is that you don’t get nearly as much stone and metal ore; that’s very valuable stuff, both in wealth value and equipment opportunity. It’s lovely to get a level 6 Blacksmith early on and have all the best gear waiting for your troops to level into it. But even without mountains to quarry, you’ll be fine as long as you have a good combat team and can control where the fights will happen.
All that said, if you want to let hearthlings cross and not monsters, then you need to create bridges when you want to cross and tear them down when you’re done. There’s no way (that I know of) to just set up a pure one-way entrance. Me, I create a killing maze. Defensive designs