I have potion recipes working quite well...my code correctly targets any thick potion (normal thick, splash thick, lingering thick) and outputs the correct result; you could even put one of each of these in the slots and get a normal, splash, and lingering of whatever your output is. It also correctly does *not* work with any non-thick potion.
Btw, we both seem to have had the same idea, using thick potions as a base
Code is here: https://github.com/Laike-Endaril/Dynamic-Stealth/tree/1.12.2/src/main/java/com/fantasticsource/dynamicstealth/common/potions/recipes