Stripes and mirrors have similar read performance. Write performance will suffer in a mirror, though, so it depends on your use case. Personally I'd go with mirrors, or best of both worlds, mirrors + stripes. Restoring backups and outages are a pain. Of course this halves your storage space, but drives are comparatively cheap. You're better off doing something silly like bridging the drives with mergerfs. And no matter what without mirroring or RAID-Z you're giving up on ZFS best feature- the check-summing based healing. Better off just yoloing with ext4.
Hard drives and SSDs should always exist in separate pools, unless you're using the SSD as a pool cache for read or write, but realistically outside massive databases or busy virtual machine storage almost no one needs write caching.
The main reason for separating them is that you'll get consistent performance from the pool with like hardware, otherwise your performance for reading from the pool will be equivalent to the performance of the slowest drive in the pool.