main difference is buggy engines rev alot less, have better bottom end. in offroad you need lots of bottom end to clear the double and triple jumps with a short take off.
whereas on road is more free flowing and need a high reving engine.
also on-raod engines generally have a metal bearing which is not suitable for off road use.