How can FVector pretends as USTRUCT?

Check NoExportTypes.h . There is a another defination of FVector and it was marked as UStruct. So UHT will generate code for FVector in NoExportTypes.h .
You may confused about why there are two definations of FVector. and how does it compiled pass? Actually, NoExportTypes.h has a CPP Macro, NoExportTypes.h will just contains some cpp headers when compile. So NoExportTypes.H is just for UHT to generate code.