Try 1/Expand[1/frac].
On more general approaches:
In Mathematica, an expression (a b)/(a c) will auto-simplify to b/c, and there's not much that can be done about common factors that are factored out except to work around it in some way, such as HoldForm, Defer, Inactive or as in the OP, boxes. These are used to keep the division that leads to the auto-simplification from evaluating. Another way is to manipulate a b or a c so that a is not factored out. Common things to try are Expand[a b] and Simplify[a b]. Sometimes there is no way to avoid using the first kind of workaround, such as when the desired output is 1/(1/m).
Here's a step-by-step breakdown of how to multiply the top and bottom of a fraction by the same factor:
frac = -((8 m^2)/(3 + 10 m^2 + 3 m^4));
sgn = Simplify[Sign[frac], m \[Element] Reals && m != 0]; (* wrestle Mma over the sign *)
fac = sgn/Numerator[frac]; (* construct factor for multiplying *)
newnd = fac*NumeratorDenominator[frac]; (* mult. num. & den. by fac *)
newnd = Expand /@ newnd; (* un-factor the product(s) *)
Divide @@ newnd (* construct new fraction *)
(* -(1/(5/4 + 3/(8 m^2) + (3 m^2)/8)) *)
Here's a quick way that goes along with the default treatment of signs:
1/Expand[Denominator[frac]/Numerator[frac]]
(* 1/(-(5/4) - 3/(8 m^2) - (3 m^2)/8) *)
Note that Sign[] on an algebraic expression is usually difficult to resolve to a 1 or -1. The following, using an undocumented function, always resolves to 1 or -1 and often agrees with the user's idea of what the leading sign is:
sgn = (-1)^Boole[Internal`SyntacticNegativeQ[frac]]
(* -1 *)