DO NOT drill the holes near the top!
The problem with holes at the top is that it severly limits the rate the tank will drain at. The reason for this is that you need a little bit of head pressure to get the flow going.
The water needs to cascade over the edge of the overflow to ensure the surface water (the best bit to skim) does in fact leave the tank. For this the drain holes need to be lower than the level of the water could be with no overflow.
In terms of the overflow I prefer to just
glue a piece of glass in the corner between the hole and the rest of the tank. The actual water level will be a little bit higher than the height of the overflow - the extent to which depends on how quickly the water is returning to the tank from the sump.
Another appraoch is to have a stand pipe. This might be better on a small tank as it uses the least space.
A good way to check that you overflow does not leak is to fill the tank to the top of the overflow and then leave it - if you have water in the overflow after - a few minutes, or a few hours then you are leaking....
You want to make sure the tank can drain as fast as you are filling - no matter how strong your return pump is. You can always add a second drain hole, but it's so much easier to get a bigger hole in the first place. I advocate using a hole that is clearly bigger than you possibly need.
I prefer a hole at about half height - that way if the overflow fails (which will never happen - but just in case) the tank will not completely drain onto the floor - the fish are going to survive.
The advantage of a bulkhead fitting is that it's very secure. The disadvantage is that the inside diameter though the hole is smaller than the inside diameter of a pipe that will just fit in the hole, so using a bulkhead reduces the maximum flow. You can use silicone to glue the pipe in place although this isn't ideal if you plan to move the tank anytime soon. If you're going to use a standpipe then a bulkhead is a must (for mechanical strength).