I am not quite sure if that is quite correct.
You say
none of my prtask values have value for PREXTERNALID
I think the way it goes is that for XOGing if one task has External ID then all tasks XOGed must have External ID and if none has External ID then External ID is not needed in XOGing (on the outset that none in the input file has). This seems to work at least in 15.3
So if I have a proejct like this
and write a new task without external ID with
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header action="write" externalSource="NIKU" objectType="project" version="15.3.0.200"/>
<Projects>
<Project name="zWBS" projectID="PR2001" >
<Tasks>
<Task name="Task 3" orderID="5" outlineLevel="3" summary="false">
<estimateRules/>
</Task>
</Tasks>
<Allocations/>
<scenarioDependencies/>
<InvestmentAssociations>
<Allocations/>
<Hierarchies/>
</InvestmentAssociations>
<General />
<OBSAssocs complete="false"/>
</Project>
</Projects>
</NikuDataBus>
I get
Which I think is somewhat like you wanted.
However, since Niku 6.0.4 there is a catch: You can only append tasks - that is no insert.
So if I have input file
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header action="write" externalSource="NIKU" objectType="project" version="15.3.0.200"/>
<Projects>
<Project name="zWBS" projectID="PR2001" >
<Tasks>
<Task name="Task Inserted" orderID="3" outlineLevel="3" summary="false">
<estimateRules/>
</Task>
</Tasks>
<Allocations/>
<scenarioDependencies/>
<InvestmentAssociations>
<Allocations/>
<Hierarchies/>
</InvestmentAssociations>
<General />
<OBSAssocs complete="false"/>
</Project>
</Projects>
</NikuDataBus>
Note the task name and orderID
That will give me
So XOG did not pay any attention to the orderID..
Note that this was in 15.3 and for the lowest level WBS item.
I think you could test how far you get.