So with the emerging deadline for my thesis, I figured it out: I'm using pandoc scholar and a makefile to direct file creation. I haven't figured out all the details, but there is something pandoc scholar which is calling citeproc. Now as citeproc and crossref use similar notation, crossref needs to be called first (which I cannot seem to make happen because, again, some line somewhere in pandoc scholar)
Solution:
In the makefile, call crossref followed by another citeproc call. It is still throwing up errors from the first citeproc call, and takes a little longer, but it works.
edit: some words
edit 2: Here is an example of what I did. Note that I have the line FILTERS = XXXXXX repeated twice. once at the start, and again after declaring details like ARTICLE_FILE, BIB, PDFENGINE. probably not the best approach, but it works, and I ain't fixing my thesis after submission!
TEMPLATE = uni-thesis
FILTERS = --filter pandoc-crossref --filter pandoc-citeproc --lua-filter=short-captions.lua
EXTENSIONS := simple_tables+table_captions+yaml_metadata_block+smart
PDFENGINE=pdflatex
## CSL stylesheet (usually located in ~/.csl)
CSL = elsevier-harvard-thesis
ARTICLE_FILE = THESIS-name.md
OUTFILE_PREFIX = THESIS-name
DEFAULT_EXTENSIONS = pdf
BIB = ../citations.bib
PDFENGINE=pdflatex
FILTERS = --filter=pandoc-crossref --filter=pandoc-citeproc --lua-filter=short-captions.lua
EXTENSIONS := simple_tables+table_captions+yaml_metadata_block+smart
PANDOC_LATEX_OPTIONS = --pdf-engine=$(PDFENGINE)
LUA_FILTERS += $(LUA_FILTERS_PATH)/pagebreak/pagebreak.lua
OS := $(shell uname)