I guess there's plenty of ways to tease apart the mechanism.
I'd start by changing speed, try various frequency shaping (eg, squashing the treble), a version done in MIDI with pure tones rather than wavetable), try midi with wavetable, but with successively bigger changes to the tone, try playing various subsections on repeat, etc.
Yeah I've sometimes helped debug issues in the Rust compiler. People would come with a piece of code that made it crash or something. One task is to minify the example as much as possible. You start by commenting out as large components as possible, but need to watch out that nothing depends on the commented out code in a way that is detectable at compile time. So you remove piece after piece and finally end with a minimal example that reproduces the issue. In complex projects with lots of dependencies you often start out with large dependency trees and somehow have to reduce it. Sometimes it's easier to reduce something, sometimes it's harder. I guess here it's analogous when one wants to find the "core" part of the music that helps with epilepsy. Maybe one can try to vary it in a way that the effect is even larger.