Hi Joshua,
Option A would definitely be the best. You have to deal with the
conflicting change either way. Using option A, however, you keep the
commit history tree a bit simpler, because you combine the feature
merge and the conflict resolution into a single merge commit. Using
option B creates two merges: first you get a feature merge commit
(because of "git flow feature finish"), then you get a merge commit
because you merged from upstream.
Always make fast-forward merges first, as they are smooth and don't
create complex history trees unnecessarily. It's good to realize that
this is by no means related to the use of the git-flow tool—it's just
vanilla Git best practice.
Cheers,
Vincent