I have the same problem.
I tested 1.16.5 vanilla without forge (I created a new installation into a new game directory) and end gateway is replaced with mushroom block as expected, but with forge (in same clean game directory) growing a mushroom into the gateway does not replace/break/destroy the minecraft:end_gateway block.
Forge version: 36.2.0 (currently recommended stable version)
This seems like a bug (if not then where is it documented? And what other vanilla behaviors does forge change? I cannot find it in the docs.)
PaperMC is not vanilla but it does provide "allow-permanent-block-break-exploits: true" config option. Is there maybe a similar option for forge?