What I have done in the past was to create a TopoJSON (not very difficult in {sf} workflow) out of the shapefile and then used it to create a choropleth map. There is a walkthrough to it on the Power BI pages.
It might be something along these lines (note that your example is not quite reproducible, so I can not make sure).
yer_shapefile <- sf::st_read("yer_shapefile.shp") # you will want to be more specific :)
yer_raster <- raster:.raster("your_raster.tif") %>% # original raster
sf:.st_as_sf() # grid - without values - as a sf object
geojsonio::topojson_write(yer_r_object, # the sf object - first raster, then shapefile
file = "whatever.topojson", # or what not...
object_name = "whatever") # or what not...
In Power BI you would need to re-link the data to empty scaffolding created from the topojson.
This should work, but it is kinda hassle, IMHO.
An alternative would be generating the plot in R via {leaflet} and "plotting" it from Power BI as a chunk of HTML.