Bring the water, whole milk, and 1.5 tsp kosher salt to a simmer in a medium saucepan over medium heat.
Whisk in the stone-ground grits, reduce heat to low, and cook gently, stirring every few minutes, until thick and tender, 35β45 minutes; add a splash of water if grits get too thick before they are fully soft.
When grits are tender, stir in 2 tbsp unsalted butter and a pinch of black pepper; taste and adjust with a little more kosher salt if needed. Cover and keep warm on very low heat.
While grits cook, place the bacon in a large skillet over medium heat and cook until crisp and the fat renders, 6β8 minutes. Transfer bacon to a plate with a slotted spoon, leaving about 2 tbsp fat in the skillet.
Add the yellow onion to the skillet and cook in the bacon fat, stirring, until translucent and lightly golden, 4β5 minutes. Add the garlic and cook until fragrant, 30 seconds.
Pour in the dry white wine and simmer, scraping up any browned bits, until reduced by about half, 2β3 minutes.
Add the chicken stock, Worcestershire sauce, cayenne pepper, and a few grinds of black pepper. Simmer until slightly thickened and glossy, 3β4 minutes.
Pat the shrimp dry, season with the remaining 0.5 tsp kosher salt and a pinch of black pepper, and add to the skillet in an even layer. Cook, turning once, until just pink and opaque, 2β4 minutes total depending on size.
Reduce heat to low, stir in the remaining 2 tbsp unsalted butter and the lemon juice until the sauce emulsifies. Return the bacon to the pan and toss to combine; remove from heat.
Spoon the warm grits into bowls and top evenly with the shrimp, bacon, and pan sauce. Sprinkle with scallions and serve immediately with hot sauce.