If you create a transaction with createrawtransaction, its inputs will not be signed, which means it will not be broadcast by this node or any other. So you need to use the following calls in order:
createrawtransaction → signrawtransaction → sendrawtransaction
After createrawtransaction you can optionally also use appendrawchange and appendrawmetadata, in both cases before calling signrawtransaction.