Я занимался и тем и другим, и не могу сказать, что тут есть однозначный ответ. В описании вопроса сравниваются простые требования на фронт и относительно сложные на бэк. И действительно, стать плохим фронтенд-разработчиком проще, чем хорошим бэкендером.
Но то же справедливо и для обратной ситуации — изучить основы пайтона с джанго и клепать CRUDы быстрее и проще чем, например, разрабатывать фронтенд-фреймворк. Если не брать вёрстку, то нет какого-то принципиального отличия именно фронтенда, это всё та же разработка.
Надо уметь писать понятный идиоматичный код, разбираться в чужом легаси, находить причины багов, уметь проектировать, понимать алгоритмы и структуры данных, а также планировать работу и договариваться с людьми. Джуны, в том числе бэкендеры, в начале карьеры ничего из этого не умеют и учатся в процессе работы.
Фронтенд это не только вёрстка и не только веб. Например, в мобильной разработке тоже есть фронтенд — это собственно и есть то приложение, которое ставится на устройство. В каждой предметной области есть свои сложности. Во фронтенде это асинхронность, обработка ошибок, совместимость, вёрстка.
Вёрстка может стать отдельным камнем преткновения для некоторых разработчиков, особенно при переходе из языков со статической сильной типизацией, таких как C#. В языках разметки нет понятия синтаксической ошибки — разметка не может "не скомпилироваться", вместо этого браузер как-то отобразит написанное (и к сожалению, даже визуально ошибку далеко не всегда видно сразу).
При наличии стартового опыта и интереса к C# я бы советовал для начала углубить понимание C# и не менять стек целиком. Мне кажется, так будет проще осваивать программирование в целом, и в будущем изучение нового языка окажется проще. Но решать вам — если желание попробовать что-то новое является тем самым импульсом, дающим мотивацию, то почему бы это не использовать.