Why does WebPages.h include WebPages.h?
So I'm not sure if I should be reincluding libraries in .h and .ccp.
Except for the above, you are doing fine.
And why &defaultCmd in webserver.setDefaultCommand(&defaultCmd); is the wrong parameter type.
Because defaultCmd is the address of a function. While there are strong similarities between methods (class functions) and functions, they are not identical. The webserver instance has no idea which instance of the class the function you want to call belongs to.
You need to make the defaultCmd method in the class static, so that there is only one instance of the method, so that it then behaves exactly like a function.
Of course, once you do that, no other class data will be available to the method, unless you get creative.