I managed to create a trail using a SurfaceTool, it's created in a mesh instance, so it can create a collision box from the mesh.
The only problem I have now is that, as you said, it eats fps because the trail has a lot of vertexes created every time. But I can't use another area, because I need the trail to detect collisions precisely as soon as possible. If I created a tiny invisible wall once in a while, it wouldn't be precise when I turn, and I would need to create a lot of them, too much of them