.jucer GUI project run on Linux without desktop... can I?

It sounds like you are dealing with two problems at once edsut, trying to deal with the GUI aspect of things, but also getting your convolution to work correctly.

Attempting to run a GUI in a Linux environment without Xorg will not work, and this will probably interfere with getting your convolution working.

For JUCE 6 you should check How to headless build on Linux using JUCE 6.x.x and CMake and for JUCE 5, Elk Audio made a few changes to their fork to enable headless builds you could refer to: GitHub - elk-audio/JUCE: The JUCE cross-platform C++ framework

As for calling loadImpulseResponse, you’d actually want to do it only in two places, either reset() (if overridden) or processBlock(). You can call it indirectly via a method that takes an AudioParameter value as an argument, for example, that is only different than before if the user selected a new impulse response to load. That way even though the method calling loadImpulseResponse is called every time processBlock() is called, it exits early unless the parameter is different than what it was before.