VMX > OVF oversimplifies the information in the vmx-file.
OVF > VMX does the same again.
If you want to maintain the information in the vmx-file - do not use this approach.
Just zip the vmx-file plus the associated vmdks + nvram - then you have full control over the result.
Just tried your scenario myself - and apparently Workstation OVF-files do not use number-of-cores + number-of-cpus-per-core parameters and instead only use
<Item>
<rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
<rasd:Description>Number of Virtual CPUs</rasd:Description>
<rasd:ElementName>4 virtual CPU(s)</rasd:ElementName>
<rasd:InstanceID>1</rasd:InstanceID>
<rasd:ResourceType>3</rasd:ResourceType>
<rasd:VirtualQuantity>4</rasd:VirtualQuantity>
</Item>
Ulli