Есть два известных мне варианта:
Первый:
1. верхний без нижней полоски высотой h
2. нижний высотой h, но без левой части, в которой уголок загнут
(нужно учесть правильную обрезку фона и позицию
3. сам уголок
Второй:
обрезать с помощью clip-path: polygon (но поддержка не ахти
https://caniuse.com/#search=clip-path) и добавить псевдоэлементом квадрат в угол (квадрат тоже обрежется)
Второй вариант:
https://jsfiddle.net/vvdrr62t/3/
Что касается второй части вопроса, то его лучше вынести отдельным вопросом
П.С. Ох уж эти дизайнеры, из-за которых верстальщики страдают