Peel and dice the apples. In a skillet, melt the butter over medium heat. Add the apples, brown sugar, lemon juice, and kosher salt. Bring the apple mixture to a simmer and then turn the heat down.
Cook the apples, stirring occasionally, until they are tender but still hold their shape, about 10 to 15 minutes. Transfer the apple compote to a bowl and cool completely before using.
Line a 3-cup bowl with two layers of cling film, smoothing the film as neatly as possible. Set aside. In a mixing bowl, combine the goat cheese and the softened cream cheese. Use a spatula to cream the two cheeses together until smooth and creamy. Set aside 3 sage leaves to use as garnish and finely chop the rest.
Arrange the 3 sage leaves and hazelnuts in the bottom of the prepared bowl. Make sure the leaves are facing down so that they will face up once the terrine is turned out. Carefully drop a large scoop of the goat cheese mixture on top of the garnish. Use a spoon to gently spread the cheese over the garnish without disturbing it. Use a little less than half of the cheese for the top layer, smoothing the cheese evenly.
Scoop the apples from their cooking liquid and drain. If the apples are fairly firm you can give them a bit of a squeeze to remove as much liquid as possible without completely crushing them. Spread the apples evenly over the cheese layer, packing them down evenly.
Add the chopped sage to the remaining goat cheese and combine. Spread evenly over the apples in the terrine, smoothing the top layer. Cover with cling film and chill for at least 1 hour before serving.
To serve, loosen the terrine from the bowl by gently pulling on the cling film. Flip the bowl over onto a serving platter and lift off the terrine. Gently peel back the cling film. Serve the apple and sage goat cheese terrine with a slice of hazelnut bread, or other bread, and enjoy!