In a small bowl, add 2 tablespoons sugar to beaten egg yolks. Whisk well.
In a medium pot, combine remaining 4 tablespoons sugar with milk, and bring almost to a simmer over high to medium-high heat.
Scoop out a small amount of hot milk to temper the egg yolks (about 1/4 cup); slowly whisk into egg yolks. Repeat this one more time.
Add egg mixture to pot of hot milk and whisk thoroughly. Cook, stirring constantly, over medium to medium low heat until thickens and coats the back of a spoon, about 3-5 minutes. Do not let mixture boil. Remove from heat.
In a large mixing bowl (an electric mixer works best), beat cream cheese and mascarpone until well whipped. Add jam, lemon juice, extracts, and Amaretto, and beat to combine. On low speed, gradually beat in hot milk mixture. Cream cheese will not be completely dissolved/smooth – that is OK.
Let mixture cool before chilling in the refrigerator. This takes about 10 minutes if you place the container in a bowl filled with ice and cold water. Chill in the refrigerator for at least 3 hours.
Stir mixture to re-combine and freeze in an ice cream machine, according to manufacturer’s directions. In the last minute or two of freezing, add the graham cracker pieces.
Serve immediately or freeze for 1-4 hours, if a firmer consistency is desired. Top with cherries (and almonds, if using) and enjoy! This is best eaten the same day you make it.