Folds a local-items buffer onto server-provided options, deduped by
value via compareWith. Group shape preserved; locals appended flat
after groups. Server wins on collision - locals matching a provided
value drop silently.
Identity-stable when localItems is empty (returns provided).