...I've changed so many things and done so many experiments that I'm a bit lost, and am looking for some guidance of what the gateways, static routes, and rules SHOULD be configured like in a configuration like mine....
Just a couple of questions, for my understanding.1) You said the interface should be the LACP Trunk; I had made a vlan interface off of that. Should the LAN be the LACP LAGG (lagg0) or the vlan interface (lagg0_vlan99). I had put the latter, just confirming.
2) When the CLI asks if it needs a gateway when defining the LAN IP, it says something like "probably yes for WAN, probably no for LAN" but in my case since the LAN requires a gateway, I put yes and put in the 10.99.1.254 address. If I don't do that, I can't get to the web interface after setting it up. That seems to check the "upstream gateway" box for that defined gateway, hence my confusion over that setting.
...I've confirmed the LAN and WAN interfaces are correct and they have correctly assigned default gateways. See the attached picture....
From your topology description shouldn't be more that a simple static route. Because you changed so many things start over with a clean install, otherwise this relative simple issue will be a ping-pong of "it's not working".
surfrock66@sr66-opnsense-1:~ $ ping 8.8.8.8PING 8.8.8.8 (8.8.8.8): 56 data bytes64 bytes from 8.8.8.8: icmp_seq=0 ttl=115 time=28.971 ms^C--- 8.8.8.8 ping statistics ---1 packets transmitted, 1 packets received, 0.0% packet lossround-trip min/avg/max/stddev = 28.971/28.971/28.971/0.000 mssurfrock66@sr66-opnsense-1:~ $ ping -S 10.99.1.40 10.2.2.213PING 10.2.2.213 (10.2.2.213) from 10.99.1.40: 56 data bytes^C--- 10.2.2.213 ping statistics ---5 packets transmitted, 0 packets received, 100.0% packet losssurfrock66@sr66-opnsense-1:~ $ exitConnection to 10.99.1.40 closed.surfrock66@sr66-thelio:~/.scripts$ ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.^C--- 8.8.8.8 ping statistics ---3 packets transmitted, 0 received, 100% packet loss, time 2055mssurfrock66@sr66-thelio:~/.scripts$ ping 10.2.2.213PING 10.2.2.213 (10.2.2.213) 56(84) bytes of data.64 bytes from 10.2.2.213: icmp_seq=1 ttl=63 time=0.462 ms64 bytes from 10.2.2.213: icmp_seq=2 ttl=63 time=0.339 ms^C--- 10.2.2.213 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1020msrtt min/avg/max/mdev = 0.339/0.400/0.462/0.061 ms