You can achieve your desired results with LV2 plugins by commenting out, by hand or script, lines in the LV2 dot ttl files that list what GUI system the plugin use. ( I have not checked if something similar can be done with lxvst but maybe? )
I needed to do this and first did it by hand but managed to cobble together a script for the job. The important line in the script is:
find . -type f -exec sed -i ‘s/a uiext:GtkUI ;/#a uiext:GtkUI ;/’ {} +
The calf mono synth ttl is named Monosynth.ttl and lines that starts with # (the symbol for comment line in the format) will not be loaded and the plugin will open with the generic user interface.
///
<http://calf.sourceforge.net/plugins/gui/gtk2-gui>
#a uiext:GtkUI ;
lv2:extensionData uiext:idleInterface ,
uiext:showInterface ;
lv2:requiredFeature uiext:makeResident ;
lv2:optionalFeature <http://lv2plug.in/ns/ext/data-access> ;
uiext:binary <calflv2gui.so> .
<http://calf.sourceforge.net/plugins/gui/gtk2-gui-req>
#a uiext:GtkUI ;
lv2:extensionData uiext:idleInterface ,
uiext:showInterface ;
lv2:requiredFeature uiext:makeResident ;
lv2:requiredFeature <http://lv2plug.in/ns/ext/instance-access> ;
lv2:requiredFeature <http://lv2plug.in/ns/ext/data-access> ;
uiext:binary <calflv2gui.so> .
///
You are supposed to be able to hold down alt and double click on the plugin to launch in generic mode but this does not work on my system. Right clicking on the plugin to find the generic launch plugin button is unpractical. There were incompatibilities when I started using the official Ardrour 6 binary which crashed when launching some of the plugins and commenting out the uiext:GtkUI meant I could continue to use those plugins. These incompatibilities are now resolved but I prefer some of the generic interfaces to the GUI one, the calf mono synth is one.
AN ASIDE:
If you want to be switch between lv2 plugin collections you can launch Ardour with a script and it will ignore the system lv2 path and substitute it for your designated lv2 folder.
export LV2_PATH=/home/userhome/.mylv2:~/.lv2
/opt/Ardour-6.9.0/bin/ardour6
You can add your own LADSPA folder to the script (export LADSPA_PATH=/home/userhome/.6myladspa) but Ardour will still load the system LADSPA and I switch the system LADSPA off with: sudo mv /usr/lib/ladspa /usr/lib/OFFladspa, the lxvst folder is user controllable in Ardour preferences.
You need the ~/.lv2 folder if you wish to save plugin settings independent of the project. Before apt-get updating from the repo I switch the ladspa back otherwise a new usr/lib/ladspa folder will be added.
My “custom plugin manager” is incomplete and my goal is to have an opt/Ardour system where the plugins are independent of the debian repo and where in addition I can decide what plugin collection to make available to specific projects. What will happen if you launch a project without plugins and have to put a mike and speaker in the bathroom and eq on the way in etc etc.