OK, here are my rambling thoughts, in no particular order.
The spectrum analyser.
We do not know the amplitude scale calibration. A reasonably inspired guess would say 10dB/division.
The bottom of the trace shows noise, so the 3Mhz is at best 10dB above the noise and the 7Mhz is 15dB above noise. What absolute levels are represented by those numbers is difficult (impossible) to say at this distance. Maybe worth checking using the built in -30dBm 50Mhz cal signal.
Any mixer products will be lower in amplitude than the two inputs and so will likely be hidden in the noise.
What is the input impedance of the analyser?
I am guessing 50Ohm as the legend on the front panel says +10dBm Max (ie 10mW maximum input power).
Could the 50 Ohm input be loading the loading the output of the mixer?
Also, is there DC isolation on the input? Try measuring the input with an ohmmeter, ideally it should show open circuit, otherwise the input of the analyser will upset the DC conditions of the mixer circuit.
The crystal filter.
I assume that this is supposed to be at 4Mhz?
At a quick guess, the filter is one of those build as a crystal ladder with capacitors to ground.
If the filter was working correctly, I would expect the 3Mhz and 7Mhz to completely dissappear at the output of the filter, they are just attenuated a bit.
General comments.
I see lots of LONG wires, totally unscreened, not a hint of a coax cable anywhere. That gives lots of scope for stray coupling between wires, and earth lines which are not low impedance connections to earth due to the inductance of the wires.
I also RF circuits built on plug in breadboards and long wires all around the breadboard.
Breadboards are often (usually) a disaster waiting to happen at RF. (Been there done that and wrote the article
https://www.electro-tech-online.com/articles/breadboards-how-bad-are-they-at-rf.278/).
JimB