Unfortunately there isn't a way to change the SLA with the type. This is because the ability to change the SLA is a higher permission tier than changing the type (type can change with a simple ticket edit), so it makes it easier for people who don't have
permission to change SLA's to change them inherently with the type.
Unfortunately there also isn't a way to apply an SLA to a workflow. However, you can apply a default SLA to a ticket type and have that SLA be applied when a user requests a ticket of that type from a service.