If I’m not mistaken, the ion-icons are actually set up as fonts. Here is an old post related to ionic v1, but I believe the process would be similar or ionic 2 or 3.
So the way I understand your situation, you are able to get ion-icon to show an icon from their library, but you have a separate image xxx.png that you want to use. If that is correct, you will most likely want to use the standard <img> tag.
The only context in which <ion-img> should be used is in conjunction with virtual scroll. If you are using it anywhere else, stop and use an ordinary <img> instead.