Moving this has no effect on the in-tree users of bsd.*.mk,
though I haven't yet tested its effect on ports.
There's a number of good effects here. It reduces global namespace
pollution a bit, since sys.mk is included always. It makes it so that this
file can be influenced by all the MK_* variables floating around. It makes
it so that kernel builds can set a CPUTYPE to optimize to more easily
than the various hacks that exist today to kinda-sorts do the job. since bsd.init.mk
is called for all .mk files that do building, and since bsd.opts.mk is
included from there, this should neatly solve the problem without
introducing new ones.
Theoretically, there may be people that use make without any of the
bsd.*.mk files at all, and who also rely on this to get CFLAGS set in
a particular way. My experience suggests this is a vanishingly small group
of people.