Существуют ли какие-либо различия в кэшировании / производительности / существенных различиях между кодом C #, помещенным в <script runat='server'></script>, в отличие от кода позади?
<script runat='server'></script>
Нет, никакой разницы в производительности, в конце концов, это всегда компилируется в сборку.
Главное отличие для меня - читабельность.
Нет, он скомпилирован в одно и то же.
Я предлагаю вам использовать файл с выделенным кодом для разделения логики и разметки.