Thanks @Tim_McGinnes
Yes I've tried experimenting some more with the Eliminate Polygon Part tool beyond what's recommended in the walkthrough, but not had any luck unfortunately. There are just far too many of these problematic roofs and some capture very little data, some even seem to capture just the gutters and no roof information at all! The previous example above is actually one of the better ones, but the tool didn't help with that one let alone some of the more problematic roofs like the ones below.
How did you solve the issue? Did you need to fix them manually, or did the Eliminate Polygon Part tool work for you?
I've been trying to figure out if I can generate the footprints in reverse, by essentially turning all the lidar classification points on but leaving the building classification off and generating polygons from the empty holes in the lidar, however I've not been able to figure out how to do this. This would cause its own issues like detecting other non-reflective surfaces such as water from pools as "Buildings", but its easier to manually detect and remove these rather than manually finding and fixing several thousand dark roofed buildings.