Why is my fancy font selection overriding CM in this way?

This depends entirely on the package, which like any package whether or not font related has a lot of flexibility in the commands it defines.

Looking at LobsterTwo.sty the last few lines show

  \def\LobsterTwofamily{Lbstr-LF}
  \renewcommand*\rmdefault{\LobsterTwofamily}
  \newcommand*\LobsterTwo{\fontfamily{\LobsterTwofamily}\selectfont}

so it has defined an NFSS family Lbstr-LF which can be used like cmr family denoting Computer Modern Roman.

Then it also makes that family the default Roman font and defines the \LobsterTwo command to switch back to that.

\let\oldrmdefault\rmdefault
\usepackage{LobsterTwo}
\let\rmdefault\oldrmdefault

is probably what you want, as the package doesn't seem to have an option not to redefine the default.


I would personally recommend that you use modern fonts in LuaTeX when you can, and legacy 8-bit fonts in PDFTeX when you have to. Lobster Two is a conversion of an OpenType font.

If you download it and run

\usepackage{fontspec}
\newfontfamily{LobsterTwo}[
  Scale = MatchUppercase ,
  Ligatures = Common ,
  UprightFont = *-Regular ,
  ItalicFont = *-Italic ,
  BoldFont = *-Bold ,
  BoldItalicFont = *-BoldItalic ,
  Extension = .otf ]

You will not have this problem, and will also get all of its ligatures.

You could also load another font package after that one, overriding its font settings.