That is a lot of oats...with a low mash temperature.
I've seen beta glucan rest recommended for mashing with oats above 20% of the grist, this would be a step between 104F and 122F for 30 minutes to break up the gummy part of the oats. You didn't mention your mash being gummy but it was first all grain it might have been sticky and you just thought that was normal...If it was it could take a very long time to get all the sugars out of the grist. I assume you used oat flakes designed for brewing. If you are using oat flakes from grocery store you want to either use the quick oats (1-minute oats) or if you use the traditional 5-minute oats I think it is best to cook them first with some of your mash water.
The low mash temperature should not be a problem but with the grist relying on the enzymes from the 2 row and the wheat (I assume white wheat was malted) you might not have fully converted your starches into sugars in 60 minutes. I didn't see a mention of a starch test, I don't do them either but if I was mashing at 148, even with all malt, I'd either mash longer (90 minutes at least) or add a higher temperature step, something like 160F for 15 minutes after the 148F step to make sure I get full conversion.
Finally the quality of the crush of your grains is typically a question anytime anyone undershoots target gravity. This is highly system dependent, you don't mention if you are BIAB, all-in-one, batch or fly sparging. Whatever you are doing there will be a fineness of crush that will help you reach optimal efficiency. It is easiest to control the quality of your crush if you get your own grain mill and crush it yourself. For BIAB you are looking for a pretty fine crush. For recirculating systems you probably will need something coarser. If you are buying malt crushed you will have some variability that you will probably have to live with.