You can make a custom app with your own icon in Xcode, package it via Jamf composer into PKG format and then add it to Jamf School by clicking Apps>Inventory>Add In-House macOS Package, you can then assign the app via device group membership.
Distributing apps via group membership rather than self service is a better solution when it comes to Jamf School
The icon provided in the description is stripped from a Blah.app included in your deployed package. When you deploy script payloads there are no Blah.app to strip an icon from and you end up with the placeholder image. Since nested apps are not allowed in JamfSchool the logic is fine. A feature request may be to allow for a custom image to override the one supplied from the Blah.app.
Just occurred to me you could fake an icon by including a placeholder app in the package. This could be done with Xcode, place the app in a /tmp/icons location so it will not confuse anybody. If the apps get removed from the target who cares because the payload is complete and your icon exists in Jamf School. Or they could just allow for custom icons.