Given the thickness of your material, and that you would prefer to have no visible fixings, I would go with dowels here. What you'll be doing are dowel-reinforced butt joints.
Dowel joints have their detractors, and are seen by even some seasoned woodworkers as little better than the basic long grain | end grain butt joint you start with, but in reality they are far better than this1.
Since this is seating and you want to make sure it's as secure as possible it would be best err on the side of greater strength so some details are important. And as you're a first-time woodworker I'll assume you know nothing about dowel joints so I'll try to cover all the bases.
- Use many smaller-diameter dowels (e.g. five or seven) or fewer very stout ones (three); these two options are probably close enough in strength that there's no real need to prefer one over the other. So you can pick based on dowel availability, because you already own a given size of drill bit, or simple preference.
- Size2 the end-grain top edge of the leg prior to final glueing. Wait for the sizing to dry before continuing.
- The dowels can be housed equally into both pieces here, or deeper in the legs than the seat. But as you have plenty of thickness to play around with in your material and 1 1/2" penetration is more than adequate you might as well go for holes of this depth in both.
- Your dowels should be cut to slightly shorter than the combined depth of both holes, so if you go with the above suggestion cut your dowels to roughly 2 3/4". This leaves room at each end for excess glue to accumulate.
- Chamfer both ends of every dowel, as this helps ease assembly. You can do this by sanding, paring with a sharp knife or chisel, and even using a pencil sharpener if the dowels are skinny enough!
- Use hardwood dowel if possible. Softwood dowelling is probably sufficient to be perfectly honest because there are so many dowels here, but if hardwood dowel is available use it; species isn't vital, but oak or maple would be much stronger than poplar if those happen to be the options available locally locally.
- See this previous Answer if you want to groove your dowel to prevent a 'hydraulic lock'.
- Lightly sand the dowels before glueing in for this reason.
- You must ensure you position and drill the corresponding holes with care (both in terms of position and squareness). It's very useful to have a second person to help sight your drilling from 90° to your position; you can monitor tilt left or right, they take care of watching for any lean in the other axis.
- Lightly chamfer the edges of all the holes. This gives further space for excess glue.
- Both of the commonest woodworking glues, PVA (both yellow or white "carpenter's glue") and foaming polyurethane glue (e.g. the original Gorilla Glue), have essentially no gap-filling properties. If, despite taking care, you end up with a sloppy fit3 it would be best to glue this together using epoxy as this has excellent gap-filling properties. Cheap dollar-store 5-min epoxy is typically more than adequate, as long as you can work fast enough.
- There's a lot to apply glue to here. It's OK to glue this together in stages — glue the dowels into one leg at a time (mix two separate batches of glue if using epoxy), wait for them to set and then glue the legs to the seat. You can use the seat, dry fitted, to ensure the dowels end up aligned correctly. Be sure to mark each end of the seat and the corresponding leg with small pieces of tape so you don't try to swap them during the last glue-up.
- Even if individual holes are an easy fit you may still need a hammer and a protective scrap of soft wood to get all the dowels on each leg fully seated into their respective set of holes. We're not talking gentle taps, wail on the hammer if you need to!
1 Various destructive tests have proven this joint again and again, it is at least comparable to the venerable mortise-and-tenon joint, see Dowelmax test here, and can sometimes comfortably exceeds its strength, see here
2 Sizing is pre-treating the end grain with glue to limit over-absorption of the fixing glue once that is applied. You can dilute the glue slightly for this (as was traditional) or use it full strength if you rub it in well.
3 This can be due to factors beyond your control, such as a drill bit and dowelling that are nominally the same size not actually being the same diameter. It's very common for commercial dowelling to be a little over- or undersize, and sometimes for it to not be round (due to differential shrinkage after production).