I just got back my first run of boards through JLC assembly.
My biggest challenge during ordering was the always-mentioned part rotation. I believe that they use EIA orientation, which is ad hoc, while Kicad consistently puts pin 1 in the upper left quadrant (or on the left in the degenerate two pin case). I spent many hours working with Kicad scripting and their use of Python 2 (!) in an attempt to automate or document the correction, but in the end I submitted a hand-edited .CPL file.
Their assembly layout visualization tool was a huge help with this. It clearly marks the polarity or pin 1 of asymmetric devices with a red dot. Combined with tweaking the silk screen on a few of my footprints it was easy to verify the rotation.
I didn't experience any case of offset components that others have reported.
I had two issues with the BOM matching. I added LCSC part numbers to everything I wanted populated, but their system always failed to match one or two components. I changed the component description, but then some other part wouldn't be matched. I concluded that this matching failure was related to the position in the CSV file, not some error in the file I was generating.
Because I was trying to automate file generation, I went through the ordering process many times. I quickly tired of clicking 'Confirm' for each of a few dozen part types. If I provide the LCSC part number in the BOM CSV, I shouldn't have to click confirm unless there is a suspected mis-match. And then it should tell me enough to fix it for the next attempt.
Finally, the pricing of some of the part was wrong. It exactly doubled the price of crystals and regulators between confirming the BOM and presenting the final total. That only added $2-$3 to the total, not enough for me to delay my order by a few frustrating exchanges with customer service, but worth mentioning in a review.
My boards ended up taking an extra day or two longer than projected, with the delay largely between fabrication and assembly. That pushed the finish time to Saturday, and the DHL pickup wasn't logged until Monday evening (6:57pm Shenzhen time). But amazingly DHL delivered the boards to California on Tuesday 1:22pm PST.