Place pork in a large Dutch oven and cover with water. Add onion, garlic, chili powder, salt, and pepper. Bring to a boil, then reduce heat and simmer for 3 hours.
Transfer pork to a large bowl and shred, reserving stock. Strain stock into a large bowl or measuring cup, discarding solids. Place 3–4 cups stock (reserving the rest for preparing masa and steaming tamales) into a saucepan. In a small bowl, combine flour with water making a slurry. Whisk slurry into stock and cook over low heat until slightly thickened.
To assemble tamales, spread masa on ½ of a soaked husk (do not let the husks get dry). Scoop shredded pork over masa and place an olive on top. Fold husk over and secure with strips of the husks. Repeat with remaining husks and filling.
To cook, place remaining stock into a steamer with water. Stack tamales into basket. Bring to a fast boil, then lower heat and simmer for 45 minutes–1 hour. Serve with sauce.
Place lard in a standing mixer and beat until light (like creaming butter for a cake). Add baking powder, salt, and a spoonful of the stock, beat until combined. Add, in 3 additions, remaining stock and masa flour, adding water as needed. A piece of masa should float in water when done—light and airy.