Putting them into /etc/network/interfaces is for persistence (i.e., when bringing up/down the interfaces manually or upon reboot). If you want to change rules, you don't want to bring down your interfaces (or the whole networking stack) - so you apply your changes to the currently loaded tables. That's just how it works (the pve-firewall also regenerates the rules and re-applies them upon changes).
You just have to be careful about the order of loaded rules when modifying the existing ruleset.
When you restart the networking service, you effectively kill all connections on the bridge, so it's no wonder that stuff breaks.