While @Lord-Grey looks into the code for you I can only share my successful experience using instances.
I also looked at the particle photon and it seems that they are somewhat different to the $2 ESP8266 (D1 mini, for instance). My setup is based on the D1 mini. I use them for my "ORB's". But really they are not "ORB's". they are just a circle of LEDs mounted inside a stripped out IKEA FADO. I don't use the ORB controller for the LED's (I use UDPE131)
If you have some D1 Mini, load up the ESPixelStick firmware as per my above instructions. Create an instance for the left side, and then another instance for the right side (or the bottom, or the whole TV) an instance for each, and a D1 Mini for each. In my case, each FADO lamp will run both the LEDs and the D1 Mini from an iPhone charger, or any 2A charger, quite comfortably. I desoldered the blue LED inside the D1 mini, and it sits inside the FADO as well.
Sharing my setup config is kind of pointless, because each "instance" is its own config.
Please try a D1 mini (or any NodeMCU) you might have lying around.
Here is a screenshot of my setup with multiple instances running multiple D1 mini's with an undetectable latency. I have 2 TV's (Sony and Rumpus), 2 FADO lamps (UDP left and right), and a display case light strip all running at once.
As an aside, I control the power-up and power-down of the devices through MQTT in Node Red, the power up signal is mapped to a simple Ikea Zigbee light switch that runs through zigbee2mqtt. If you use the WLED firmware you can power up the device in even smarter ways. The FADO lamps double as Lounge Lights with their own colour when not being used by Hyperion.
If you wish to go down the D1 mini / FADO path and get stuck, I can help further, but I want to reinforce that I don't use forwarders, OR the ORB controller for any of my setup.