frappe.utils.get_url should resolve site url for internal (path relative to site) images in PDFs. e.g. images from /files needs {site_url}/files and images from /assets needs {site_url}/assets.
As long as it returns correct url, through site_config, request or site directory name and images get resolved, PDF should work.
get_url code frappe/frappe/utils/data.py at 504aab4f38dd0400ff07b8b22aa74911ccdf340a · frappe/frappe · GitHub