While testing logout, I noted that the endpoint selection logic doesn't prioritize bindings based on the IdP but by the endpoint order in metadata.
Whether that's sufficient or not, what is clear is that if you have an IdP that's not supporting artifacts (e.g. not running a usable SOAP port or handling it on the front channel port), you need a way to tell it not to use that binding. We don't have an outgoingBindings property anywhere that I can find on the profile config beans. We probably should, but in the meantime, a global property to toggle an activation condition on the Artifact BindingDescriptors in the system config would be a simple workaround.