I read and annotate in Emacs mostly, using pdftools + org-noter.
Specifically org-noter can synchronize its buffers with the pdf you’re reading. It’ll also create a skeleton from an outline, if available in the PDF, and even extract highlights and notes in for you. It’s really quite useful tool.
On iOS I read and annotate using PSPDFKit’s PDF viewer, which is incredibly featurefull in the free version, but even more so with subscription (too expensive IMHO).
One nice feature it has, for readers of Hebrew and Arabic, is flipping the edge to right or left. Also editing meta data etc.
In respect to your question, also keeping position in file, bookmarks etc and it uses iOS’s file picker, so you can store your PDFs anywhere accessible (for me on Nextbloud WebDAV share).