Begin by bringing your grill up to medium-high heat, aiming for a surface temperature of around 300°F to 350°F. While the grill is heating, mix together the dark soy sauce, olive oil, salt, black pepper, garlic, onion, and cayenne pepper in a medium-sized bowl to create a flavorful rub.
Using paper towels, pat the chicken legs dry to help the seasoning adhere properly. Generously coat each chicken leg with the spice mixture, ensuring every part of the surface is covered. If the rub isn’t sticking well, lightly oil the chicken first before applying the seasoning. Let the seasoned chicken rest at room temperature while the grill finishes preheating.
Once your grill is ready, lightly brush the grates with oil to prevent sticking. Place the chicken legs skin side down on the grill and close the lid. Grill with the lid closed for approximately 30 minutes, flipping the legs every 8 to 10 minutes. Rotate their placement occasionally to account for uneven heat spots and promote consistent browning.
The chicken legs are finished when the skin is crisp and golden, and the internal temperature registers between 180°F and 190°F when measured with a meat thermometer. Remove from the grill and let rest briefly before serving.