Before opening the target buffer with find definition and references, the current cursor position is not added to Evil's jump list, making C-o/C-i behave wrongly.
My hacky solution:
;; Add to jump list before going to definition, impl, etc
(advice-add 'lsp-bridge--record-mark-ring :before #'evil-set-jump)
(define-advice lsp-bridge-ref-open-file (:around (orig-fn &rest args) set-jump)
"Add to jump list before opening result file."
(define-advice find-file (:before (&rest _) set-jump-inner) (evil-set-jump))
(apply orig-fn args)
(advice-remove 'find-file #'find-file@set-jump-inner))
My full lsp-bridge config.