Why the United States Army won most large scale fights with Native Americans is two parts, there was often more people in the Army (there was more people to risk) and the United States Army had a history of tricking Native Americans for their own gain.
This isn’t my Area of expertise in history so I would look into it more.