Azure Firewall の課金を停止するためには割り当てを解除する必要があります。
割り当ての解除および再割り当ては、deallocate() コマンドおよび allocate() コマンドで実行します。
実行コマンドは次のような内容です。
※リソース名等は適切な値に置き換えて実施ください。

停止コマンド
# Stop an existing firewall
$azfw = Get-AzFirewall -Name -ResourceGroupName <リソースグループ名>
$azfw.Deallocate()
Set-AzFirewall -AzureFirewall $azfw
<コマンドここまで>

開始コマンド
# Start a firewall
$azfw = Get-AzFirewall -Name -ResourceGroupName <リソースグループ名>
$vnet = Get-AzVirtualNetwork -ResourceGroupName <リソースグループ名> -Name <仮想ネットワーク名>
$publicip = Get-AzPublicIpAddress -Name <パブリック IP リソース名> -ResourceGroupName <リソースグループ名>
$azfw.Allocate($vnet,$publicip)
Set-AzFirewall -AzureFirewall $azfw
<コマンドここまで>