They think the battles are the same. The book of Joshua doesn't say they fought Canaanites, just that they fought "their enemies". The theory is that the Egyptians were the enemies.
Names for enemies weren't always exact and rather name general directions of the wind instead of particular tribes. From the dead sea, canaan and egypt seem close enough to be confused.
Unless you think those Canaanite cities were in Egypt, I'd say the details are given pretty precisely. The book is actually online; you can easily check that there's no chance this was talking about Egypt.