I do not really understand how this should work you basically have
if(  Profile.current.has_key?("partitioning") || Profile.current.has_key?("partitioning_advanced")
then
   AutoinstStorage.Import
else
    WFM.CallFunction("inst_disk_proposal", [true, true])  
end
 
and later

if( semiauto_partitions )
     Call.Function("inst_disk_proposal", ["enable_next" => true])
end

Wouldn´t that mean that Call.Function("inst_disk_proposal") get called twice when there is
not autoyast profile with entry for "partitioning"?