Well, no response to my problem, so I did the right thing to do, and search in other threads to find a possible solution.
I made some progress, but now I'm facing a new problem.
Sooo, I learned that using the L3 switch as a router in this case is called a downtream router.
Also, leaving the routing job to the L3 switch means that there's no need to load vlans and interfaces in Pfsense. what is needed is a different vlan between the switch and Pfsense (a transit network).
I defined my transit network as 100.0.1.0/16 in vlan 100.
Made the vlan 100 in my L3 switch, interface IP adress of 100.0.1.10/16 with one port tagged.
Deleted all vlans in Pfsense, and created vlan 100 with interface IP adress 100.0.1.20/16.
In routing, made a gateway pointing to the switch interface (100.0.1.10) and marked as default.
Defined static routes so Pfsense can find the networks behind the switch. The networks fall under 10.0.0.0/24, so I made only one route with this adress and the gateway pointing the switch I made in the previous step.
In the switch, defined ip route as 0.0.0.0 0.0.0.0 100.0.1.20.
Defined the rules to pass any in LAN, and in the interface of the vlan.
Now, from a host, I can ping pfsense, no problem there.
The thing is, there's a loop now between Pfsense and the swith.
From a host, if a traceroute to 8.8.8.8 it keeps jumping from the switch and pfsense.
If I ping from Pfsense to 8.8.8.8, it says time to live exceeded error.
I tried to change the gateway of the static route to WAN, but then the host can't ping anymore Pfsense, nor have internet access. But if I log into the CLI of the L3 switch, the switch can ping Pfsense AND 8.8.8.8.
Any ideas or help guys? I'm going bald pulling my hair with this…