There is a fundamental assumption that the ZIL is reliable, in the sense that an acknowledged write is safe. The caches used by non-enterprise class SSDs break that assumption. A sudden power loss could cause data loss and corruption of the pool. The only place I would put a separate ZIL is on an enterprise class SSD (which will have "power loss protection"). But a separate ZIL should have redundancy at least as good as the pool it serves, so a mirror'd pair of enterprise class SSDs. You will get NO BENEFIT from a separate ZIL unless you are doing synchronous writes, which are not all that common.
The L2ARC is a cache, and can be regenerated if lost, so it does not need redundancy. However the benefits of an L2ARC depend on your particular usage. You might not get any benefit...
You might consider adding a "special" VDEV, to contain the metadata and, optionally, small files for your large pool. Putting this in fast access storage is likely a win, BUT it really should have redundancy at least as good as the pool it serves, so, also a mirror.
If it were my system, I wold probably buy another NMVe SSD, identical to the first, and create mirrors for boot, zroot, swap, and "special" VDEV, plus leave space for testing an L2ARC stripe.