In a small bowl, soak bread in milk. Tear with your hands until it resembles a soft paste.
In a large bowl, combine ground beef, soaked bread, grated onions, egg, 1 teaspoon salt, and ¼ teaspoon pepper. Gently mix until combined.
Using a small scoop, portion about 1 tablespoon of meat mixture and roll between palms of hands into a 1-inch diameter ball.
Arrange meatballs in a single layer on a parchment-lined baking sheet and freeze for about 10 to 15 minutes or until firm.
In a bowl, combine pineapple juice, rice vinegar, ketchup, brown sugar, and 1 teaspoon of salt. Stir until well-blended and set aside.
In a wide pan over medium heat, heat about 1 tablespoon canola oil. Add bell peppers and cook for about 30 to 40 seconds. Remove from pan and keep warm.
In the pan, add another 1 tablespoon oil if needed. Add meatballs in a single layer and cook for about 1 to 2 minutes on each side or just until lightly browned. Remove from pan and drain on paper towels. Keep warm.
Remove excess oil from the pan except for about 1 tablespoon. Add onions and cook until softened.
Add sweet and sauce mixture and bring to a boil.
Add browned meatballs in a single layer. Lower heat, cover, and cook for about 8 to 10 minutes or until meatballs are fully cooked.
In a bowl, combine ¼ cup water and cornstarch and stir until smooth. Add to the pan, whisking to prevent lumps.
Season with salt and pepper to taste. Cook for about 2 to 3 minutes or until thickened.
Add bell peppers and pineapple chunks.
Continue to cook for about 1 to 2 minutes or until heated through. Serve hot.