This should have been fixed by this PR (merged in Forge 1.14.4-28.1.92). The dispense behaviour now checks for any flammable block and calls Block#catchFire instead of calling the static method.
IHasModel is completely and utterly pointless. All it does is make you write the same 4 lines of code all over again for every item so that you can pass public values to a public function.
Seems like you're trying to implement a class that isn't an interface. Make IHasModel an interface, then remove IHasModel and take a look at this. (Code-Style #3, among everything else.)