Preheat oven to 375°F and line a baking sheet with parchment paper.
Cut squash in half lengthwise and remove seeds. Place squash halves cut side down on the baking sheet and roast for 20–30 minutes, or until the squash’s skin side feels tender when pierced with a fork. Remove from oven and flip squash open side up to avoid over-steaming.
In a medium skillet over medium-high heat, add 1 tablespoon butter and the onion; cook until translucent, about 5 minutes. Add another tablespoon of butter and the apples and cook until onions are a deep golden brown and caramelized, stirring often, about 5 minutes. Add a little bit of water when onions start sticking to the pan. Set aside.
In the same skillet over medium-low heat, add 1 more tablespoon butter and the garlic; cook until just tender. Add sausage and increase heat to medium. Cook sausage and break up lumps, about 5–8 minutes, until browned. Add herbs and continue to cook for 1–2 minutes longer. Add spinach and cook, continuously stirring, until it wilts. Salt and pepper to taste.
Add caramelized onions to sausage mixture. Preheat broiler and arrange squash on baking sheet. Fill the four squash halves with stuffing mixture and sprinkle with feta. Put under the broiler for 2 minutes or until the tops get brown and crispy. Serve each squash on a plate with any left over sausage mixture.