What happens to fields that don't have corresponding database columns?
Interesting question, had a quick read through the module's code.
I came across this comment that should answer your question:  

@salesforce_pull.module:335


  // Flag this entity as having been processed. This does not persist,
     // but is used by salesforce_push to avoid duplicate processing.
     $entity->salesforce_pull = TRUE;


It seems that this is not an entity field (or rather an entity property) that is attached to an entity (and therefore stored in the db), but, as the above comment mentions, simply a short-lived flag.

The way this goes is like this:


The salesforce_pull module sets the flag on an entity (see @salesforce_pull.module:335)
salesforce_pull conditionally wraps that entity in an entity_wrapper object and calls the ->save() function on the object (see @salesforce_pull.module:341)
This call will call hook_entity_update implementations, including the one from salesforce_push (see @salesforce_push.module:20)
salesforce_push will call the salesforce_push_entity_crud function that checks the value of that flag before using the Salesforce API to sync data (see @salesforce_push.module:44)


All the steps above take place in the same request, which is why persisting the flag is not required.

Hope this helps, good luck!