extracted this to its own page for now...I don't use this but here it is for the internet to learn about.
via consult wiki, to prevent Consult Buffer from always popping exwm buffers and moving things around, I apply this monkeypatch which filters them out of consideration for preview.
(defun consult-buffer-state-no-x ()
"Buffer state function that doesn't preview X buffers."
(lexical-let ((orig-state (consult--buffer-state))
(filter (lambda (action cand)
(if (or (not cand)
(eq action 'return)
(let ((buffer (get-buffer cand)))
(and buffer
(not (eq 'exwm-mode (buffer-local-value 'major-mode buffer))))))
cand
nil))))
(lambda (action cand)
(funcall orig-state action (funcall filter action cand)))))
(with-eval-after-load 'consult
(setq consult--source-buffer
(plist-put consult--source-buffer :state #'consult-buffer-state-no-x)))