Thick solid question.

I included my example file above and used the thicken approach to remove the material. The problem there is that the rail hook would be made hollow, which, depending on the size, will fail as the rail hook is to small to have e.g. 2mm walls all around. So the thicken operation fails. Thats why I used two sketches for that and padded the rail mount hock later on.

Your approach is fine too. I would use a datum plane on the flat bottom axis (the one where you just need a rectangle to pocket up). Then you change the Z offset to the wall size of your box and now you can put a sketch onto the datum plane as if it is XY/XZ/YZ.

The usage of datum planes also helps to avoid creating links on faces (TNP mentioned above). It is possible to move a sketch itself e.g. created on XY plane by changing that offset, but I would prefer using a datum plane, as you can name that and used it as often as required to put multiple sketches. Also if you decide to move the DatumPlane, all sketches will move automatically.

Just name it DP_InnerBottom and e.g. If you want to add a hole to the box for draining water later on, you add a new sketch onto the existing datum plane, draw a circle, pocket and done. Without an additional reference or thinking, because the bottom of the box is the DatumPlane.

You can of course add datum planes to a face, but that will break with the official branch of FreeCAD, if you change other stuff created before in the working tree (again TNP). But even that has advantages as you just need to fix the DatumPlane reference and all linked sketches will follow.

If you use measurement references you can avoid those issues, too. I see on your middle image the sketch you used to pocket the contents to the inside. By referencing the height of the box as sketch z offset and pocket size this is a valid box. The approach I used was using the inner bottom of the box (wall size is the offset from the bottom of the box) and simply use pocket though all as there is nothing above which must not be removed.

As you can see there is no real right or wrong. Just use the way that works for you and try to avoid placing sketches on faces if possible. Also keep in mind that setting DatumPlanes may be an additional step, but they make your model clear. If you later on want to add another feature you can use that plane instead of finding out how to place a sketch at the same position again. Naming sketchs/pad/pocket/datumplanes is key. Yes, you need to type more, but when returning in a year to modify the model, you will back in in no time.