Yea, I've come to the conclusion short of getting new storage and putting it squarely in each VLAN that I need to do L3 routing at the switch for VLAN 20 and 70. I guess I was just more or less asking if there was any other architecture you can think of that may have worked better, but it really seems like it is that straight forward.
So to summarize my changes:
Disable Snort on VLAN 20 and 70
Create 172. something /30 subnet for transit
Create new VLAN tag 172 in pfSense
Create new interface tied to this VLAN
At both switches I will add a new VLAN for the transit network, and set that as the default route to 172.something.1
Add VLAN 20 and VLAN 30 at the core switch (sg300-10). I'll put in ACLs to block everything between the VLANs except the IP\Port combos I currently have in my
firewall relating to those two subnets.
Disable VLAN 20 and VLAN 70 interfaces in pfSense
Create new gateway with 172.something.1 as gateway
Create new static routes for 10.37.70.0/24 and 10.37.70.0/24 via the gateway created above
Enable Snort rules on new Transit interface.
Verify any needed VLAN 172 firewall rules that are needed (shouldn't be any as this will only be used for outbound requests, correct?)
Sound about right?