There are two main conventions, but no rule of thumb as PCB layer stackups are design dependent. These are two general conventions:
Source: Electromagnetic Compatibility Engineering by Henry W. Ott
Using grounds on the outside to help with EMC, the grounds function as a shield that signals on the inside might use. Both schemes in figure 16-14 are good for shielding signals with either two grounds on the outside or a power plane and ground.
The problem with the scheme in figure 16-14 is the components are on the top layer, so you would need to use a lot of vias to route the signals to an inside mid-layer.
The scheme in figure 16-15 uses signals on the top and bottom and grounds in the middle, and in my opinon much easier to route, and is the scheme that I see used the most often.
I would use grounds in the middle and signals on the outside, it works for most designs. I use this scheme:
Or this one:
- Power+few signals
As far as frequency goes, any traces over (generally) 50MHz will need to use transmission lines. In that case you do need to worry about many more things like the width of the traces and height between layers. At 1MHz losses are much less, you may have to worry about signals radiating off the board and causing interference (mainly with DC DC converters or clocks).
One Nice thing about having a ground layer in a middle layer is it creates a small amount of capacitance between planes and it keeps a continuous ground plane both of which work to reduce EMI and EMC problems in a design. If you don't have a continuous ground plane currents must go around components and it can add inductance and resistance to a ground plane.
With components on top layer becomes difficult to keep it continuous ground plane, this can also be a problem with ground loops or common mode voltage noise as a non continuous ground plane will have more resistance and inductance between the load and the source, especially on the low side of the load. If you do decide to go with grounds on the outer layer make sure they are continuous as possible.
Components on both sides does not really create issues for either stack up as it's only a matter of routing, however signal layers on the outside is much easier to route especially if you're going for more compact design