Here is what I have ended up doing.
On the x450a's, I created policies, and added tagged vlan's to port 23 and 24.
I created a policy to allow LACP packets through.
Policy name: lacp24.pol
entry lacp-to-port-24 {
if {
ethernet-type 0x8809 ;
} then {
redirect-port 23 ;
count port24
}
}
I created a second policy replacing 24 with 23 and 23 with 24 in above policy, and named it lacp23.pol
I applied the policies to the pass through ports:
configure access-list lacp23 ports 23 ingress
configure access-list lacp24 ports 24 ingress
I added tagged vlan's to ports 23 and 24.
configure vlan foo add ports 23-24 tagged
On the x450e's I set up sharing on ports 47 and 48.
enable sharing 1:47 grouping 1:47-48 algorithm address-based L2 lacp
I configured lacp for a short timeout.
configure sharing 1:47 lacp timeout short
I added my tagged vlan's to port 47.
configure vlan foo add ports 1:47 tagged
For testing this, I added ip addresses to vlan foo on the x450e's, ip routes, and untagged ports in the vlan.
I cabled everything up, set up my laptop on the 4th switch to ping the first, and it worked!
I did notice that I would lose a packet when pulling the cable between switch 2 and 3, and it would take about 3 seconds to remove the port from the AGG group, but that is expected.
I hope this helps those in the future, and remind me next time I have to set this up.