From my understanding, the channel icon used is the one you upload to the dev portal, and it only updates when your channel is published/approved. That means your private channel or private vanity code for public channels will update as soon as you publish. Public channel icons will update once your channel has been approved after submitting it. The icons in the manifest are used for sideloading, but maybe they are also used for published (private or public) channels when you are offline, unless Roku caches all the installed channel icons.
note: this is only evidence from my own experience