Your interpretation is correct in terms that if you indeed choose to handle SAML IdP-Initiated with a response protocol of OIDC then the application will receive a response which can indeed be an authorization code depending on the response type.
However, as you also hinted to, the normal flow in OIDC would be for the application to start the transaction as that allows the client application to take additional security measures like for example using the state to mitigate against CSRF. My personal recommendation if at all possible would be to try to not make use of a flow going from SAML IdP-Initiated to OIDC.