Check out the ggbackground() function in ggimage:
Below is before I found ggbackground
You might take a look at the ggpomological package as an example to work from, since it uses a background image for the plot.
https://www.garrickadenbuie.com/project/ggpomological/
You wouldn't actually use ggpomological, you'd likely use the packages it uses (e.g. magick), but it's nice to see someone else's approach.
https://cran.r-project.org/web/packages/magick/vignettes/intro.html
There's another approach described in this post, though I haven't worked with the packages it uses personally;