When I install a Canvas app on my phone, the marker image doesn't appear, unlike in Companion

When you do a Canvas SaveAs in the Companion app, it lands in the Companion's storage directory.
That's the directory you look in to set your image for the marker.

When you do a Canvas SaveAs in a built app, it lands in that built app's storage directory, which is different from the Companion app's storage directory.

There is a way to know t run time if you are running in the Companion.
You need an if/then test and a different path for your marker image update.