(The solution to this problem will come with the implementation of "triggers" upstream -- https://secure.phabricator.com/T5474 )
In a recent IRC kvetch session regarding Phab workboards and how each new board has creates its own universe of task state entirely independent of other workboards or the task state, @GWicke said "I wished workboards were based on tags", by which he means "column==tag". I'm guessing it would be very close to impossible to convince upstream to change their entire model, but this strikes me as the obviously correct design the more I think about it.
That said, independent of complete revolution in how workboards work, it would be awfully useful for workboard actions to optionally trigger (via Herald?) some action which could cause projects (used as tags) to get added or removed from a project based on being added or removed from a given workboard column. For that matter, it would be even better if the opposite could also be true (adding/removing a project causes the item to move on the workboard). The one obvious complication here is that a task might need to be a member of multiple columns based on project membership, but that could also be an interesting feature. Alternatively, just making the leftmost project-associated column "win" might be a sufficient simplification.