Thank you for the above comments.
I am using the official M5Stack but bought from different suppliers from here in the UK.
I have now tested the 3 units successfully by accessing them directly via the I2C bus address and registers rather than the UIFlow Unit ExtIO libraries. I can read and write to the IO using this method so I suspect there is a bug in one of the UIFlow library routines. I have raised this with M5Stack and I believe they are looking into it.
It would still be great to know how others are using and accessing the ExtIO Unit especially using it via the Pa.Hub. Thank you again.