Factual error: Major Stewart addresses the Indian NCO as "Sergeant Major" and he is so described in the credits. There was no such rank in the British Indian Army. Indian cavalry sergeants were known as Daffadars. More senior Indian cavalry officers held VCO ranks (Jemadar, Risaldar and Risaldar Major) which had no British equivalent. Given the importance of rank and protocol, it is highly unlikely that a British commissioned officer would be unaware of this.
Factual error: Until 1916, British soldiers were not permitted by regulations to shave their upper lips. That included officers (even generals). Almost all the 1914 cavalrymen should therefore have moustaches. Many don't.
Factual error: When the horse jumps over the British tank, he runs to a German trench, jumps over and runs alongside it, to finally jump into the trench. Once he falls inside, he starts to run madly among the astonished Germans. The problem is: the trenches were made in zig-zag pattern, making soldiers difficult to see beyond 10m, along the trench. The horse ran way more than that, and the obstacles inside the trenches would make this run impossible.
Factual error: The battle in which Albert is gassed is not an accurate portrayal of how the British army was fighting by 1918. By 1918 the British had developed what for the time were very advanced infantry fighting techniques. They would have attacked in sections with each man having been properly trained as to his role and objectives. And by 1918 the British would not have launched a human wave style attack in daylight, or one that was unsupported by artillery and possibly tanks. The unruly mob that is depicted is somewhat more typical of the attacks of 1915 and 1916.