In a large bowl, toss the goat with 2 tablespoons curry powder, half the garlic, half the ginger, the scallion, and salt. Cover and refrigerate 4 hours to overnight.
Heat oil in a Dutch oven over medium heat. Add remaining 1 tablespoon curry powder and stir constantly for 60–90 seconds until darkened and fragrant.
Working in batches, brown the marinated goat on all sides, about 3–4 minutes per batch. Remove to a plate.
Add onion, remaining garlic, and remaining ginger to the pot. Cook 3–4 minutes, scraping up browned bits, until onion softens.
Return the goat to the pot with the Scotch bonnet, thyme, and allspice. Add stock until the meat is just covered. Bring to a boil, then reduce to a low simmer and cover.
Simmer covered for 2 to 2.5 hours, stirring occasionally and adding more stock if needed, until the meat is very tender.
Add the potatoes in the last 30 minutes of simmering. Once tender, uncover and simmer 10 more minutes to thicken the gravy. Season with salt to taste before serving.