Heat vegetable oil in a skillet over medium heat.
Cook and stir onion, carrot, and 2 cloves minced garlic in the hot oil for about 10 minutes.
Add the pineapple juice into onion mixture.
Add ribs, 2 tablespoons hot sauce, and bay leaf. Add enough chicken broth to cover ribs. Bring to a boil, reduce heat, and simmer for 60 minutes.
Remove skillet from heat and cool ribs in the cooking liquid until no longer steaming.
Mix plum sauce, tomato paste, soy sauce, 1 tablespoon hot sauce, red vinegar, lime juice, ginger, and 3 cloves minced garlic in a saucepan; bring to a boil.
Place ribs in a bowl and brush them with glaze. Cover bowl with plastic wrap and marinate ribs in the refrigerator for 2 hours to.
Remove ribs from refrigerator and bring to room temperature for 30 minutes.
Preheat grill for medium heat and lightly oil the grate.
Grill ribs, basting occasionally with glaze, on the preheated grill until the meat pulls away easily from the bone, 15 to 20 minutes.