How to sign a raw multisig transaction from an external private key
The Bitcoin Wiki entry for OP_CHECKSIG answers your question. OP_CHECKMULTISIG works the same way, just applied to each signature in the sequence.

First of all, it depends on the SIGHASH type you, as the signer, choose. Most likely you will use the default SIGHASH_ALL for each of the required signatures, but you could actually use different SIGHASH methods for each individual signature.

Since you mentioned bcoin, you can review the signature hash methods in lib/primitives/tx.js here, and in the methods immediately following.

Very briefly:

The SIGHASH_ALL method will serialize all the inputs* and all the outputs of the transaction, including the nLocktime, and sign that blob. 

*The input scripts are all replaced with a sinlge 0x00 byte. The script of the input being signed/checked is replaced by the corresponding output script from the funding transaction. So actually, the hex string you posted (the templated input script 000000004c695...) is the only part of the transaction that will NOT be signed by any of the multisig participants for this input!

bonus tidbit: The 2-of-3 signature template has FOUR OP_0's. Why? Well. the first one is popped off the stack by OP_CHECKMULTISIG, that's a bug Satoshi left us with. The other three are placeholders for the actual signatures. There are THREE instead of just TWO because the signatures need to be in the same order as the pubKeys in the redeem script. The extra placeholder is removed before broadcasting the transaction. In bcoin, this script template is assembled here.