The "From" field will be filled depending on the "Default sender" selected by you when replying to an email in the Conversation tab.
However, if you are writing the first email in the thread without replying to the previous one, the "From" field will not be automatically filled if you have selected "Use case source mailbox". Instead, it will be filled with the value of the "Default mailbox" if this option has been selected.
For "To" field we can select multiple emails (even custom email, not from dropdown). So it will be enough to set attribute "{name}_To" attribute within crt.HandleViewModelInitRequest hook. An example you can find here:
With "From" field the situation is a bit harder because there are some box logic behind that. But for that case we have input property "defaultSenderRequest" that identifies request for getting default From. You can override it behavior and return default sender that you need. Example: