If you are using the STM32, you do not need to use cyflash. That is for the previous hardware platform based on the Cypress PSOC processor.
OPP firmware exists in two layers: the firmware and the configuration. The firmware is programmed with an ST-Link programmer. The configuration is loaded via USB through a python script (Gen2Test.py). The configuration persists even if you update the firmware. The default configuration is 32 inputs which is why your switch testing worked fine. If you want something other than that, you need to load a new configuration file into the board. Maybe someday this configuration can be incorporated into MPF, but that day is not today.
OPP has 4 "wings" per board. There are different wings for different purposes. There are two options currently for neopixel wings. There is one that has a neopixel data output and 7 switch inputs (WING_NEO). Alternatively, you can also use a different wing configuration that has a neopixel output, 4 solenoid outputs, and 3 switch inputs (WING_NEO_SOL). There are example config files in the /Python/Gen2Test/ directory in the OPP repository. Here is one that I use on my project:
Here is the relevant section of the OPP Pinball Makers page for OPP configuration but it would be good to read the whole page: