It's on the workflow page. For a given role and status you can choose that the tracker is read-only. It means it can't be changed afterwards if these conditions are met (status + role). See screens.
This works with existing issues on the edit page. However when creating the issue, there is no option to select the tracker. The select box will be hidden if I choose a tracker like this and I also can't change it back without refreshing the whole page. Even if I choose a read-only tracker (the select box disappers) and hit the confirm button, the issue I've just created has a different tracker, not the one I've just chosen.
On a new form, tracker_id attribute isn't part of the request, there isn't any select box or a hidden field, so the default tracker is chosen instead. I can do the same request via api [POST /issues?issue[tracker_id]=x] and I can choose a read-only tracker this way. It also can be done in gui but only after the issue is created on the edit form, this behaviour isn't unified.
current behaviour - issues/new (wrong)
default -> read-only - the select-box disappears
read-only -> default - once I've selected a read-only tracker I can't change it back
desired behaviour:
default -> read-only
read-only -> default - I can choose between them and the issue will be created with that tracker
current behaviour - issues/[id]/edit: (correct)
default -> read-only - the select-box won't disappear
read-only -> default - I can change it back before saving
(saved)read-only -> default - I can't change it because workflow conditions are met. The current read-only tracker is the only one available.
btw: it makes the test in #19162 partly obsolote, because after my patch the tracker_id select-box will always be visible on a new form.