The commands were correct, it turns out I was just missing additional symbols.
I was able to work out the missing symbol file though looking at cat /proc/$(pidof <my_program>)/maps | grep xp | grep <first 5-7 characters of the missing address>
Then I loaded them in as normal
image add <missing symbol file>
target modules load --file <symbol file> .text 0x<address>