Клиент хочет сделать простое слайд-шоу с небольшим поворотом: он хочет, чтобы меню было поверх изменяемого изображения.
Каков был бы способ добиться этого с помощью CSS и JavaScript?
Как обычно. Порядок изображения и меню имеет важное значение. Если меню после изображения, то все в порядке. Если вы не можете / не будете изменять порядок, вам придется использовать свойство css z-index.
Не используйте фоновое изображение, просто поместите меню в разделение и расположите его абсолютно сверху изображения. Вы не можете изменить размер фоновых изображений, и если они больше видимой области клиента, они будут обрезаны.