Commenting this just because I've fixed the problem myself and it wasn't anything to do with IDs (I think) so just in case it helps anyone else.
Turns out I had an enum type in another file and for some reason typeorm couldn't make the mapping to it properly due to absolute import over relative import.
I moved the enum type back into the entity file so they were in one place and the problem seemed to be fixed.
I also changed the entity ID type to a varchar/guid so maybe that also changed something, unsure