“All paths must be absolute” is something that can be worked around rather easily. If I was dealing with a function where I could not use relative paths, I would simply concatenate together the folder I wanted with the relative path I wanted and pass it as a combined string to the function as an absolute path. It is really simple to do.
However, the problem may be what is stated a bit lower:
Certain Boost.Filesystem functions that decompose their argument path and then work on individual relative directories or files will not work properly with extended-length prefix paths.
That could be a problem if Dorico uses some of those Boost.Filesystem functions that actually split the path and do operations on the relative directories, and that may explain why they cannot do it. However, I am simply asking in case maybe in this case they are not using any functions that behave in that way for the act of saving the embedded graphic.