Turns out it is actually possible to but it seems I can’t read, even the issue I linked mentions that the icon needs to be placed inside the contents directory:
So for example here:
package/
├── contents
│ ├── config
│ │ ├── config.qml
│ │ └── main.xml
│ ├── icon.png
│ ├── icons
│ │ └── icon.svg
│ └── ui
│ └── main.qml
└── metadata.json
Icon can be "Icon": "/icons/icon.svg" or "Icon": "/icon.png" and both work, the issue i linked is only about the AboutPlugin which will not load this custom icon.