An ovulation test is used to detect the LH (luteinizing hormone) surge which indicates ovulation is about to occur. So if you had a positive ovulation test on day 18, it's likely that you ovulated within the next few days.
Progesterone is a hormone produced by the corpus luteum after ovulation occurs. If you had a progesterone level of 4 on day 21, it is generally considered to be in the low range for the luteal phase. Normally, progesterone levels rise and peak about a week after ovulation.
Based on the positive ovulation test and the progesterone level, it's possible that you may have ovulated, but the progesterone level might be low for various reasons. It would be best to discuss these results with your doctor for further clarification and assessment of your specific situation.